Apache Shiro

1、ShiroFilterFactoryBean(shiroFilter的入口)

2、shiro拦截的内容

(1)默认的拦截器(url拦截)

 认证相关的拦截器

 授权相关的拦截器

 (2)方法拦截

  @RequiresAuthentication  表示当前 Subject 已经通过 login 进行了身份验证;即 Subject.isAuthenticated() 返回 true。

  @RequiresUser  表示当前 Subject 已经身份验证或者通过记住我登录的。

  @RequiresGuest  表示当前 Subject 没有身份验证或通过记住我登录过,即是游客身份。

  @RequiresRoles(value={“admin”, “user”}, logical= Logical.AND)  表示当前 Subject 需要角色 admin 和 user。

  @RequiresPermissions (value={“user:a”, “user:b”}, logical= Logical.OR)  表示当前 Subject 需要权限 user:a 或 user:b。

 (3)标签拦截

 (4)代码拦截

3、sessionManager 

DefaultSessionManager:DefaultSecurityManager使用的默认实现,用于JavaSE环境;
ServletContainerSessionManager:DefaultWebSecurityManager使用的默认实现,用于Web环境,其直接使用Servlet容器的会话;
DefaultWebSessionManager:用于Web环境的实现,可以替代ServletContainerSessionManager,自己维护着会话,直接废弃了Servlet容器的会话管理。这一点与spring-session的功能是一致的。

posted @ 2019-11-12 10:11  海平面下的我们  阅读(123)  评论(0编辑  收藏  举报