cas与shrio整体认识及cas和shrio区别分工
来源:互联网 发布:生产网络拓扑图 编辑:程序博客网 时间:2024/06/01 13:25
cas客户端服务
cas服务端提供服务,cas客户端:通过客户端程序集成的cas客户端和cas服务端交互,cas之所以要抽出一个服务端,是为了把
公用的session,cookie都放在服务端,一些验证指令通过cas客户端--》cas服务端--》各客户端的权限管理插件(如:shrio)
shrio:
1,把用户权限信息放在shrio的securitymanager管理器中
2,根据需要增加相应的认证,角色过滤器
3,认证的发起,
1调用shrio自有的接口地址,
2,用java代码编写:subject里面有登陆功能,有登陆后的session(在重写的认证接口设置),有用户名getPriciple();
cas和shrio区别分工
cas只做用户密码认证放行(集成在程序的客户端会调用cas服务进行验证)
shrio既可以做密码认证放行,也可以做权限判断
当二者结合的时候,可以分工密码认证cas来,权限判断shrio来
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="casRealm" />
<property name="subjectFactory" ref="casSubjectFactory" />
<!-- <property name="sessionManager" ref="sessionManager" /> -->
<!-- <property name="cacheManager" ref="shiroEhcacheManager" /> -->
</bean>
<bean id="casFilter" class="org.apache.shiro.cas.CasFilter">//cas拦截器----》密码认证
<property name="failureUrl"
value="http://localhost:8081/web/resources/failure.html" />
</bean>
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />//里面包含cas的本拦截服务设置----》shrio密码认证(集成cas时配置方式不同)
<!-- <property name="loginUrl"
value="http://localhost:8080/cas/login?service=http://localhost:8081/web/cas" /> -->
<property name="loginUrl"
value="http://localhost:8080/cas/login?a=2&service=http://localhost:8081/web/cas" >
</property>
<property name="successUrl"
value="http://localhost:8081/web/siteindex.do" />
<property name="filters">
<map>
<!-- <entry key="authc" value-ref="formAuthenticationFilter" /> -->
<entry key="cas" value-ref="casFilter" /> //////////shrio中集成本服务cas的拦截器
<entry key="logout" value-ref="logoutFilter" />
<entry key="osLogin" value-ref="osLogin" />
<entry key="oiLogin" value-ref="oiLogin" />
<entry key="csLogin" value-ref="csLogin" />
</map>
</property>
<!-- 重要:必须加上/cas = cas来告诉/cas用casFilter来处理 -->
<!-- 重要:logout为登出filter /myaccount/getFirmCenter =csLogin-->
<property name="filterChainDefinitions">---》权限过滤(动态的时候配置不同)
<value>
/information/news/getNewsInfoById==anon
/information/news/getInfoNewsData==anon
</value>
</property>
</bean>
<bean id="casRealm" class="org.apache.shiro.cas.CasRealm">//本服务用的cas拦截器
<property name="defaultRoles" value="ROLE_USER" />
<!-- 重要:这个是用来获取ticket的casServerURL的前缀,所以不能有login -->
<property name="casServerUrlPrefix" value="http://localhost:8080/cas/" />
<!--客户端的回调地址设置,必须和上面的shiro-cas过滤器拦截的地址一致 -->
<property name="casService" value="http://localhost:8081/web/cas" />
</bean>
<bean id="casSubjectFactory" class="org.apache.shiro.cas.CasSubjectFactory" />//把shrio的subject封装称cas的subject
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />
- cas与shrio整体认识及cas和shrio区别分工
- shrio cas集成之请求流程及拦截特性
- shrio
- Shrio
- shrio cas 集成,多登录页面的配置,session过期校验的定制
- spring与shrio集成记录
- shrio入门
- shrio入门
- shrio学习
- shrio配置
- shrio理解:
- Shrio-004
- Shrio-005
- Shrio-007
- 【CAS】整体介绍
- CAS
- CAS
- CAS
- 欢迎使用CSDN-markdown编辑器
- Java定时任务表达式
- plsq ip地址链接
- Ridge回归
- 存储过程,函数,视图
- cas与shrio整体认识及cas和shrio区别分工
- const的用法
- ps画图匹配Android机不同分辨率屏幕
- Proxool数据库连接池
- 变量的生存期
- 如何获取数据的label
- springMvc源码大致过程
- 【BZOJ 3107】【CQOI 2013】二进制a+b
- office2016 word 若干操作