cas客户端服务
cas服务端提供服务,cas客户端:通过客户端程序集成的cas客户端和cas服务端交互,cas之所以要抽出一个服务端,是为了把
公用的session,cookie都放在服务端,一些验证指令通过cas客户端--》cas服务端--》各客户端的权限管理插件(如:shrio)
shrio:
1,把用户权限信息放在shrio的securitymanager管理器中
2,根据需要增加相应的认证,角色过滤器(role落脚于角色的匹配-角色过滤器,perm落脚于资源的匹配-资源过滤器----都可以控制到按钮级别,不同的过滤器前端需要用对应不同的标签获取相应的信息)
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 +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成
cas 结合 springmvc shiro 做项目单点登录包括cas服务端,cas客户端。shiro-cas集成项目
- the cas-shiro-demo-app module is a demo web application which uses the CAS Shiro support library with protected area requiring CAS authentication : http://shiro.apache.org/cas.html - the cas-shiro-...
cas+shiro客户端源码,cas的客户端加上了shiro的权限控制。不包含服务端
# sso-shiro-cas spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库...
1.如果客户端项目采用shiro控制权限 则需要将cas-client 认证过滤交给shiro来管理 2.从shiro下载相应版本的shiro-cas-xxxx. Jar或者在maven里直接添加
关于shiro + CAS + Spring中怎么把CAS.xml和shiro.xml连接起来
前后端分离模式下的cas + shiro + pac4j,cas作为认证中心,子应用采用shiro鉴权,通过pac4j与cas交互,返回jwt token,完整项目,基于springboot框架
基于springboot框架,前后端分离模式下的shiro + pac4j +cas实现统一登录功能,子应用采用shiro鉴权,通过pac4j与cas交互,最终向前端返回jwt token
包含单点登录tomcat部署,cas服务器部署,项目demo,可更好的理解sso-cas登录
网上有许多cas和shiro的集成,但是有用的没有什么完整代码,我这里实现了整个过程,并且测试通过,希望能够给大家帮助!有图有真相!
内置jar包 和源码包 使用说明 学习连接 对决真实例子 部署到tomcat中即可使用 初学者来把 这东西网上例子太少了 而且还没有实例 大家不要谢我 我叫雷锋
shiro整合cas3.5的正确方式,提供一个思路
shiro整合cas的实例,shiro整合cas的实例,shiro整合cas的实例。
shiro+cas实现单点登录 示例代码,送源码分析url:http://note.youdao.com/noteshare?id=a83380ee8fc6913162042e865689844e&sub=CD905CCCE4134A159326DC2DFC1AF268
然后clean install tomcat7:run 就能跑起来,注意要修改node1和node2里的shiro.properties配置文件,要配置登录成功成功返回的路径 我的访问的分别是: 服务端: http://localhost:8050/cas-server 客户端:...
CAS与权限管理框架Shiro集成
赠送jar包:shiro-cas-1.2.3.jar; 赠送原API文档:shiro-cas-1.2.3-javadoc.jar; 赠送源代码:shiro-cas-1.2.3-sources.jar; 赠送Maven依赖信息文件:shiro-cas-1.2.3.pom; 包含翻译后的API文档:shiro-cas-...
一个用spring boot+jpa+cas+shiro+freemarker做的完整demo。
赠送jar包:shiro-cas-1.2.3.jar; 赠送原API文档:shiro-cas-1.2.3-javadoc.jar; 赠送源代码:shiro-cas-1.2.3-sources.jar; 赠送Maven依赖信息文件:shiro-cas-1.2.3.pom; 包含翻译后的API文档:shiro-cas-...