shiro的使用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31075763/article/details/92083161
  1. Shiro使用
    Shiro作为轻量级权限管理框架,现在使用shiro并不需要任何的配置文件,我们可以采用javabean的方式,如我们新建一个shiro的配置类需要在类上使用@Configuration注解。
    1.首先我们得定义生命周期相关得bean LifecycleBeanPostProcessor
    2.定义aop处理方法级得权限实现bean DefaultAdvisorAutoProxyCreator需要注意得是我们必须在什么周期相关得类加载完成才能开始给类实例化,因此我们需要添加@DependsOn(“lifecycleBeanPostProcessor”)注解来限定加载顺序,另外设置该类得属性ProxyTargetClass为true。
    3.自定义登录表单拦截器FormAuthenticationFilter可以设置登录参数比如UsernameParam,PasswordParam,RememberMeParam,LoginUrl,SuccessUrl等参数,自定义表单拦截器继承FormAuthenticationFilter ,我们可以重写isAccessAllowed等方法来处理重复登录、同一浏览器新用户登录等问题
    isAccessAllowed重写
    4.自定义密码匹配规则实现CredentialsMatcher接口,实现doCredentialsMatch方法
    doCredentialsMatch重写
    5.如果想使用redis作为session存储或者cache需要按照下面配置redis
    redis配置
    6.我们可以定义SimpleCookie用来控制web端cookie存储方式
    7.定义DefaultWebSessionManager使用刚刚配置的cookie和session处理类
    DefaultWebSessionManager
    8.自定义一个Realm继承AuthorizingRealm重写doGetAuthorizationInfo权限处理,AuthenticationInfo身份认证等方法。
    9.定义shiro核心bean DefaultWebSecurityManager
    DefaultWebSecurityManager
    10.设置过滤器bean ShiroFilterFactoryBean
    ShiroFilterFactoryBean
    2.shiro常见错误

org.apache.shiro.authc.pam.UnsupportedTokenException

org.apache.shiro.authc.UnknownAccountException

org.apache.shiro.authc.LockedAccountException

org.apache.shiro.authc.DisabledAccountException

org.apache.shiro.authc.ExcessiveAttemptsException

org.apache.shiro.authc.ConcurrentAccessException

org.apache.shiro.authc.AccountException

org.apache.shiro.authc.ExpiredCredentialsException

org.apache.shiro.authc.IncorrectCredentialsException

org.apache.shiro.authc.CredentialsException
org.apache.shiro.authc.AuthenticationException

org.apache.shiro.authz.HostUnauthorizedException
org.apache.shiro.authz.UnauthorizedException

org.apache.shiro.authz.UnauthenticatedException
org.apache.shiro.authz.AuthorizationException

org.apache.shiro.ShiroException

展开阅读全文

没有更多推荐了,返回首页