Shiro笔记(二)Shiro集成SpringMVC的环境配置

0.pom文件引入



org.apache.shiro
shiro-core
${shiro.version}


org.apache.shiro
shiro-quartz
${shiro.version}


org.apache.shiro
shiro-spring
${shiro.version}


org.apache.shiro
shiro-cas
${shiro.version}



org.apache.shiro
shiro-web
${shiro.version}


org.apache.shiro
shiro-ehcache
${shiro.version}


commons-collections
commons-collections
3.2.1

1.在web.xml中配置Shiro的过滤器

DelegatingFilterProxy作用是自动到spring容器查找 名字为shiroFilter(filter-name)的bean并把所有Filter的操作委托给它。 然后将ShiroFilter配置到spring容器即可.
DelegatingFilterProxy实际上是一个filter的代理对象,默认情况下,Spring会到IOC容器中查找和对应的bean.也可以通过targetBeanName的初始化参数来配置filter bean的id.


shiroFilter
org.springframework.web.filter.DelegatingFilterProxy

targetFilterLifecycle
true



shiroFilter
/*

2.在Spring-shiro.xml中配置

1.配置SecurityManager.





Realm实现 域 安全数据源 我们认证和权限信息都是从Realm获取的(继承自org.apache.shiro.realm)



一个自定义的Redis缓存管理器(自定义类继承自org.apache.shiro.cache.CacheManager)




Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat), 不管JavaSE还是JavaEE环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web的透明支持、SSO单点登录的支持等特性。即直接使用Shiro的会话管理可以直接替换如Web容器的会话管理 Shiro提供了三个默认实现: DefaultSessionManager:DefaultSecurityManager使用的默认实现,用于JavaSE环境; ServletContainerSessionManager:DefaultWebSecurityManager使用的默认实现,用于Web环境,其直接使用Servlet容器的会话; DefaultWebSessionManager:用于Web环境的实现,可以替代ServletContainerSessionManager,自己维护着会话,直接废弃了Servlet容器的会话管理。

























2.配置lifecycleBeanPostProcessor 可以自动的来调用配置在Spring IOC 容器中 shiro bean的生命周期方法.


3.启动IOC容器中使用Shiro的注解.但必须配置了lifecycleBeanPostProcessor后才可以调用.







4.MethodInvokingFactoryBean (???)





5 加密









6.Shiro的Web过滤器
6.1 bean的id必须和web.xml文件中配置的DelegatingFilterProxy的一致.








/static/** = anon
/admin/addSysUser.action=anon

/admin/logout.action =logout
/admin/** = user


posted @ 2017-09-02 19:02  esileme  阅读(371)  评论(0)    收藏  举报