该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-13
海风308 写道 请问楼主,这样修改User类,是不是侵入性太高了?我觉得PO应该尽量保持干净。
还有你实现InitializingBean里的afterPropertiesSet()有什么用意? 如果仅用Spring Security做用户的认证,并且Spring Security默认的功能能够满足你的要求,你是不需要像我这样改User类的。 不过既然你用了Spring Security做你的权限管理,又要不入侵,请你来教大家怎么做。 |
|
返回顶楼 | |
发表时间:2009-11-13
downpour 写道 海风308 写道 请问楼主,这样修改User类,是不是侵入性太高了?我觉得PO应该尽量保持干净。
还有你实现InitializingBean里的afterPropertiesSet()有什么用意? 如果仅用Spring Security做用户的认证,并且Spring Security默认的功能能够满足你的要求,你是不需要像我这样改User类的。 不过既然你用了Spring Security做你的权限管理,又要不入侵,请你来教大家怎么做。 不好意思楼主,我没有别的意思,我只是有这个想法而已,我也是刚学SpringSecurity。还有,你还没告诉我你 InitializingBean里的afterPropertiesSet()有什么用意呢,这个方法里的内容有点看不懂。 再有一个问题,就是我按照你的做法,只不过我的<http>中没有配置资源和对应的权限,而是从数据库度的。我确认数据没问题,因为之前用其他例子的JDBC方式实验过,而用楼主的方法读取资源和对应权限时,访问项目地址总是能够进入index.jsp页面,而这个页面的权限最少要登录才对。请问是什么原因。我跟踪了下断点, public ConfigAttributeDefinition getAttributes(Object filter)返回null。 |
|
返回顶楼 | |
发表时间:2009-11-19
最后修改:2009-11-19
按楼主的配置,已经成功实现了数据配置权限,谢谢指点,但是还有一个问题请教,
我在context安全文件中配置了两个custom filter, <beans:bean id="myAuthenticationFilter" class="com.myframe.security.web.servlet.MyAuthenticationProcessingFilter"> <custom-filter position="AUTHENTICATION_PROCESSING_FILTER"/> <beans:property name="authenticationManager" ref="authenticationManager" /> <beans:property name="authenticationFailureUrl" value="/error.jsp" /> <beans:property name="defaultTargetUrl" value="/workbench.do"/> <beans:property name="securityManager" ref="securityManager"/> </beans:bean> <beans:bean id="myLogoutFilter" class="com.myframe.security.web.servlet.MyLogoutFilter"> <custom-filter position="LOGOUT_FILTER"/> <beans:constructor-arg value="/logout.do"/> <beans:constructor-arg> <beans:list> <beans:bean class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" /> </beans:list> </beans:constructor-arg> </beans:bean> 可是为什么登陆时会找到“LOGOUT_FILTER”而不是“AUTHENTICATION_PROCESSING_FILTER” |
|
返回顶楼 | |
发表时间:2009-11-20
Spring security确实比以前的acegi精简了很多,只是还有一个问题。
我之前开发过一个项目,是一个学术会议的注册管理系统,客户的要求是前后台完全分离。前台供会议参加者注册,登陆,提交修改论文及相关信息等,而后台是对各种信息的管理。前后台不是同一个登陆页面,而且两者的session互不影响,也就是说同一个浏览器下,用户登陆前台页面后,再转到后台的URL时,还需要用管理员的帐户登陆后台。 这个应该属于Multiple Login Page的问题,而这个模型的使用非常普遍,不过我仅在http://forum.springsource.org/showthread.php?t=77030上找到了一些解决的办法。这个办法通过两个filter-chain入口将入口分离,并针对每个入口分别使用不同的配置,似乎还要像之前acegi的配置一样繁琐,有没有更简单的实现方法。 |
|
返回顶楼 | |
发表时间:2009-12-03
为什么下载的工程里面没有jar呢 还要自己去下载配置 多麻烦啊···
|
|
返回顶楼 | |
发表时间:2009-12-25
楼主这篇文章真是讲得太好了。网上一堆文章都很差,看了云里雾里的,看了这篇后豁然开朗……
|
|
返回顶楼 | |
发表时间:2009-12-31
什么时候能够升级到ss3?
|
|
返回顶楼 | |
发表时间:2010-01-12
我照着这个配置,其他都好,就是用SecurityUserHolder 取不到当前用户,
打印:SecurityContextHolder.getContext()为: org.springframework.security.context.SecurityContextImpl@ffffffff: Null authentication, 再往下取就是Null了。 我没配置缓存,其他都几乎一样,请问是缓存的原因吗?还是别的原因? |
|
返回顶楼 | |
发表时间:2010-01-13
楼上我提的这个问题困扰了好几天,今天无意中解决了。
就是在web.xml文件中的spring security部分的配置文件放到struts和spring,Hibernate等配置文件前面就好了。原来我放在最后面。真服了! |
|
返回顶楼 | |
发表时间:2010-01-20
受益匪浅。比较专业,而且很详细。
|
|
返回顶楼 | |