shiro配置学习

一、shiro的配置

1、shiro的web过滤
实例化ShiroFilterFactoryBean
设置securityManager、loginUrl、unauthorizedUrl、sucessUrl、filters、filterChainDefinitions

2、securityManager安全管理器
配置realm、配置sessionManager属性(class:DefaultWebSessionManager)、cacheManager(暂时不了解)

3、realm
设置realm属性(继承 AuthorizingRealm

登录可重写 doGetAuthenticationInfo(AuthenticationToken token) return  new SimpleAuthenticationInfo(token.getUsername(), token.getPassword(), getName());

授权方面可重写 doGetAuthorizationInfo(PrincipalCollection principals)  return  SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();

SimpleAuthorizationInfo 通过addStringPermission(String) 设置用户权限(后台controller方法头上加  @RequiresPermissions("base:organization:button:edit"),前台 <shiro:hasPermission name="base:menu:button:add"></shiro:hasPermission> 

)
4、设置sessionManager(DefaultWebSessionManager)

globalSessionTimeout 登录过期时间

sessionIdCookieEnabled 是否启用sessionId的cookie(不启用不执行simpleCookie)

sessionDAO 暂时不懂

sessionIdCookie (SimpleCookie),可设置构造参数name属性,设置session名

  simpleCookie类 通过 addCookieHeader方法,根据name属性,生成请求头 name=sessionId

原文地址:https://www.cnblogs.com/jaxlove-it/p/7530905.html