springsecurity3.1.3与cas整合相关问题

sulanyan29 2013-05-07 05:08:51
我按照网上资料进行了springsecurity3与cas的整合,单点登录可以实现。但是存在一个权限相关的问题:假如admin用户是第一个登录系统的,他所具有全部资源的访问权限。然后user是第二个登录系统的用户,他只能访问某些指定的资源。这时,admin却由原来的最高权限变成了与user一样的权限。如果此时第三个user2登录系统,他具有与admin,user不一样的权限,此时,admin,user都变成了与user2一样的权限。
不知道有没有人遇到过这问题。麻烦指点下。
...全文
580 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Java_er 2013-10-26
  • 打赏
  • 举报
回复
引用 10 楼 sulanyan29 的回复:
引用 9 楼 ni_hao_ya 的回复:
[quote=引用 8 楼 sulanyan29 的回复:] [quote=引用 7 楼 ni_hao_ya 的回复:] 我比楼主还悲剧,我整合完CAS后,都进不去系统了,相当悲剧了啦!!!说是没有权限,楼主有没有好的解决方案?
你整合有问题
现在整合出来了,但是传送多条记录的时候,客户端接收不到啊!试了好多方法就是接收不到。但是采用SingleRowJdbcPersonAttributeDao这种单行的模式就可以将参数传递过去,采用MultiRowJdbcPersonAttributeDao这种多行模式就得不到参数内容。你有没有关于SingleRowJdbcPersonAttributeDao的成功案例,可以借我参考一下?[/quote]这个真没有 我已经放弃SpringSecutiry了,自已写权限实现[/quote] 这个Spring Security不好用吗? 最近打算学习下这个。
sulanyan29 2013-08-05
  • 打赏
  • 举报
回复
引用 9 楼 ni_hao_ya 的回复:
引用 8 楼 sulanyan29 的回复:
[quote=引用 7 楼 ni_hao_ya 的回复:] 我比楼主还悲剧,我整合完CAS后,都进不去系统了,相当悲剧了啦!!!说是没有权限,楼主有没有好的解决方案?
你整合有问题
现在整合出来了,但是传送多条记录的时候,客户端接收不到啊!试了好多方法就是接收不到。但是采用SingleRowJdbcPersonAttributeDao这种单行的模式就可以将参数传递过去,采用MultiRowJdbcPersonAttributeDao这种多行模式就得不到参数内容。你有没有关于SingleRowJdbcPersonAttributeDao的成功案例,可以借我参考一下?[/quote]这个真没有 我已经放弃SpringSecutiry了,自已写权限实现
秀HAPPY 2013-07-19
  • 打赏
  • 举报
回复
引用 8 楼 sulanyan29 的回复:
引用 7 楼 ni_hao_ya 的回复:
我比楼主还悲剧,我整合完CAS后,都进不去系统了,相当悲剧了啦!!!说是没有权限,楼主有没有好的解决方案?
你整合有问题
现在整合出来了,但是传送多条记录的时候,客户端接收不到啊!试了好多方法就是接收不到。但是采用SingleRowJdbcPersonAttributeDao这种单行的模式就可以将参数传递过去,采用MultiRowJdbcPersonAttributeDao这种多行模式就得不到参数内容。你有没有关于SingleRowJdbcPersonAttributeDao的成功案例,可以借我参考一下?
sulanyan29 2013-07-17
  • 打赏
  • 举报
回复
引用 7 楼 ni_hao_ya 的回复:
我比楼主还悲剧,我整合完CAS后,都进不去系统了,相当悲剧了啦!!!说是没有权限,楼主有没有好的解决方案?
你整合有问题
秀HAPPY 2013-07-10
  • 打赏
  • 举报
回复
我比楼主还悲剧,我整合完CAS后,都进不去系统了,相当悲剧了啦!!!说是没有权限,楼主有没有好的解决方案?
sulanyan29 2013-05-08
  • 打赏
  • 举报
回复
sulanyan29 2013-05-07
  • 打赏
  • 举报
回复
引用 3 楼 roadmap001 的回复:
应该和CAS关系不大,角色权限在本应用中管理。仔细查看SS3角色权限处理是否正确,具体要看你的详细配置。
我在没有整合CAS之前,权限是没能任何任题的。就是整合了之后才出现这问题。
sulanyan29 2013-05-07
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd"> <!-- 免验证资源类型 --> <http security="none" pattern="/**/*.jpg"/> <http security="none" pattern="/**/*.png"/> <http security="none" pattern="/**/*.gif"/> <http security="none" pattern="/**/*.css"/> <http security="none" pattern="/**/*.js"/> <http security="none" pattern="/**/*.txt"/> <http security="none" pattern="/**/*.xml"/> <http security="none" pattern="/*.jsp*"/> <!-- 新增CAS切入点 casEntryPoint --> <http auto-config='true' access-denied-page="/403.jsp" entry-point-ref="casEntryPoint"> <session-management session-fixation-protection="migrateSession"> <concurrency-control max-sessions="1" error-if-maximum-exceeded="false"/> </session-management> <custom-filter ref="filterSecurityInterceptor" before="FILTER_SECURITY_INTERCEPTOR"/> <!-- 新增CAS相关配置 --> <custom-filter ref="casFilter" position="CAS_FILTER"/> <custom-filter ref="singleLogoutFilter" before="CAS_FILTER"/> <custom-filter ref="requestSingleLogoutFilter" before="LOGOUT_FILTER"/> </http> <!-- CAS服务 --> <beans:bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties"> <beans:property name="service" value="http://www.tqcasserver.com:8080/OA/j_spring_cas_security_check"/> <beans:property name="sendRenew" value="false"/> </beans:bean> <!-- cas切入点casEntryPoint的定义 --> <beans:bean id="casEntryPoint" class="org.springframework.security.cas.web.CasAuthenticationEntryPoint"> <beans:property name="loginUrl" value="https://www.tqcasserver.com:8443/cas/login"/> <beans:property name="serviceProperties" ref="serviceProperties"/> </beans:bean> <beans:bean id="casFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter"> <beans:property name="authenticationManager" ref="authenticationManager"/> <beans:property name="authenticationSuccessHandler" ref="loginSuccessHandler"/> </beans:bean> <authentication-manager alias="authenticationManager"> <authentication-provider ref="casAuthenticationProvider"/> </authentication-manager> <beans:bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider"> <beans:property name="authenticationUserDetailsService"> <beans:bean class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper"> <beans:constructor-arg ref="jdbcUserService"/> </beans:bean> </beans:property> <beans:property name="serviceProperties" ref="serviceProperties"/> <beans:property name="ticketValidator"> <beans:bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator"> <beans:constructor-arg index="0" value="https://www.tqcasserver.com:8443/cas"/> </beans:bean> </beans:property> <beans:property name="key" value="OA"/> </beans:bean> <jdbc-user-service id="jdbcUserService" data-source-ref="dataSource" users-by-username-query="select loginName as username,password,status as enabled from t_user where loginName=?" authorities-by-username-query="select u.loginName as username,r.name as authority from t_user u join t_user_role ur on u.id=ur.user_id join t_role r on r.id=ur.role_id where u.loginName=?"/> <beans:bean id="singleLogoutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter"/> <beans:bean id="requestSingleLogoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter" > <beans:constructor-arg ref="logoutSuccessHandler"/> <beans:constructor-arg> <!--<beans:bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />--> <beans:bean class="com.tqedu.oa.security.CasLogoutHandler"/> </beans:constructor-arg> <beans:property name="filterProcessesUrl" value="/j_spring_security_logout"/> </beans:bean> <beans:bean id="loginSuccessHandler" class="com.tqedu.oa.security.AuthenticationSuccessHandlerImpl"/> <beans:bean id="logoutSuccessHandler" class="com.tqedu.oa.security.LogoutSuccessHandlerImpl"/> <beans:bean id="filterSecurityInterceptor" class="org.springframework.security.web.access.intercept.FilterSecurityInterceptor" autowire="byType"> <beans:property name="securityMetadataSource" ref="filterInvocationSecurityMetadataSource" /> <beans:property name="authenticationManager" ref="org.springframework.security.authenticationManager"/> </beans:bean> <beans:bean id="filterInvocationSecurityMetadataSource" class="com.tqedu.oa.security.JdbcFilterInvocationDefinitionSourceFactoryBean"> <beans:property name="dataSource" ref="dataSource"/> <beans:property name="resourceQuery" value="select res.url,r.name from t_role r join t_role_resource rr on r.id=rr.role_id join t_resource res on res.id=rr.resc_id order by res.priority"/> </beans:bean> <!-- 用户缓存管理 --> <beans:bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/> <beans:bean id="userEhCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"> <beans:property name="cacheManager" ref="cacheManager"/> <beans:property name="cacheName" value="userCache"/> </beans:bean> <beans:bean id="userCache" class="org.springframework.security.core.userdetails.cache.EhCacheBasedUserCache"> <beans:property name="cache" ref="userEhCache"/> </beans:bean> </beans:beans>
roadmap001 2013-05-07
  • 打赏
  • 举报
回复
应该和CAS关系不大,角色权限在本应用中管理。仔细查看SS3角色权限处理是否正确,具体要看你的详细配置。
sulanyan29 2013-05-07
  • 打赏
  • 举报
回复
sulanyan29 2013-05-07
  • 打赏
  • 举报
回复

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧