Apache Shiro凭据基于Rest服务的安全性

Ren*_*407 5 rest java-ee shiro

我正在使用Shiro作为安全框架创建一个App.该应用程序有两个部分; 网络和休息.

网络正在使用Shiro的默认设置FormAuthenticationFilter.我对基于会话的方法感到满意.

使用Rest的独立应用程序,我想限制使用FormAuthenticationFilter和创建会话,我可以通过shiro.ini文件来完成

我需要在其余服务上实现基于凭据的安全性.

在网上浏览我看到一些博客建议你创建自己的Realm和过滤器来处理这种情况.但没有关于如何做到这一点的细节.

是否可以在Apache Shiro上实现基于凭据的安全性?如果有,是否有博客或教程向您展示如何实现这一目标?

问候

dom*_*arr 3

您可以对 Web 服务端点使用基本身份验证,并对 Web 使用基于表单的身份验证。

网络用户也可以访问您的网络服务吗?

编辑:

查看此示例应用程序。https://github.com/dominicfarr/skybird-shiro

它在 shiro 中配置了三个 url 路径。

web - 使用表单身份验证。

api - 使用基本身份验证。

球衣 - 匿名访问。

切入 shiro.ini 配置。

[main]
authc.loginUrl = /web/login.html

sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO

securityManager.sessionManager = $sessionManager
securityManager.sessionManager.sessionDAO = $sessionDAO


[users]
dom = password, user

[roles]
user = standard

[urls]
/web/login.html = authc
/web/** = authc
/api/** = authcBasic
/jersey/message = anon
Run Code Online (Sandbox Code Playgroud)