精华帖 (1) :: 良好帖 (9) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-24
fansofjava 写道 JackAndroid 写道 fansofjava 写道 former 写道 fansofjava 写道 spring security2.0 其实只能说一般,有些地方甚至可以说比较丑陋,不过不久前3.0出来了,仔细看了一下,是要比2.0好一些,现在一定要用的话,建议直接3.0。
哪里比较丑陋(⊙o⊙)? 正在考虑是否要做acegi到spring security的迁移呢…… 主要是原来版本是基于JDK1.4,很多地方实现起来不太优雅,搞到3。0用泛型,感觉好多了,自己的感受是写那个验证的自定义过滤器。 因为不能用泛型就丑陋了??那你JDK 5.0之前是怎么活过来的? 不要单从概念上来分析好不好,用过就知道,2.0有验证的时候是通过','相隔的方式传递字符串的,返回的时候用的是Object[],看起来很是不爽。 这点的确有不爽的地方: 1.很多返回值用对象或对象数组,再处理的时候需要用到强类型转换。这么一说,acegi里面的权限对象也是这么玩的。不知道spring security是否可以解决。 2.曾经想将FilterInvocationDefinitionSource做远程调用(Hessian),由于其参数为Ojbect,无法实现,最后只能去重载FilterSecurityInterceptor中的invoke方法来实现了。 不知道这些地方spring security是否做了增强,保证了这些安全验证的方法有比较好的参数实现。 |
|
返回顶楼 | |
发表时间:2010-03-24
最后修改:2010-03-24
former 写道 这点的确有不爽的地方: 1.很多返回值用对象或对象数组,再处理的时候需要用到强类型转换。这么一说,acegi里面的权限对象也是这么玩的。不知道spring security是否可以解决。 2.曾经想将FilterInvocationDefinitionSource做远程调用(Hessian),由于其参数为Ojbect,无法实现,最后只能去重载FilterSecurityInterceptor中的invoke方法来实现了。 不知道这些地方spring security是否做了增强,保证了这些安全验证的方法有比较好的参数实现。 这个问题在2.0的时候没有解决,但在3.0上已经得到解决了,返回的时候采用Collection,所以类型就很好解决了。基本上Object[]都替换成了Collection,如返回ConfigAttributeDefinition,算是个比较垃圾的作法了,在3.0改成了Collection<ConfigAttribute>,总之,到3.0上,基本上解决了原来一些实现比较丑陋的地方。 |
|
返回顶楼 | |
发表时间:2010-03-24
在单位没法看视频。
看这视频之前需要会acegi么? |
|
返回顶楼 | |
发表时间:2010-03-24
Spring security 3里使用了很多Collection替换了原来的数组,null检验和操作都方便了很多。
但是要说3比2增强的最大地方,还是SpEl表达式,它为权限配置提供了更灵活的配置方案。至少把ACL那部分简化了很多(说到acl,又该有很多人来说acl垃圾了,这个暂且不提) 3里还额外提供了session management,把同步会话控制,会话失效检测都放到了一起,但是没感觉这部分改好了,和之前一样不好用。 3还提供了login success的handler,可是不支持链装,只能继承原来的handler,替代,所以还是不轻便。 目前不打算换到3,原因是3重新分包,把所有类的包名都改了,又要依赖spring3,现在就等着列级acl这个功能实现以后,再转换到3上去撒。 |
|
返回顶楼 | |
发表时间:2010-03-24
按照楼主的逻辑,我曾经让无数的精灵死去,真是罪过啊,罪过!!
|
|
返回顶楼 | |
发表时间:2010-03-24
xyz20003 写道 Spring security 3里使用了很多Collection替换了原来的数组,null检验和操作都方便了很多。
但是要说3比2增强的最大地方,还是SpEl表达式,它为权限配置提供了更灵活的配置方案。至少把ACL那部分简化了很多(说到acl,又该有很多人来说acl垃圾了,这个暂且不提) 3里还额外提供了session management,把同步会话控制,会话失效检测都放到了一起,但是没感觉这部分改好了,和之前一样不好用。 3还提供了login success的handler,可是不支持链装,只能继承原来的handler,替代,所以还是不轻便。 目前不打算换到3,原因是3重新分包,把所有类的包名都改了,又要依赖spring3,现在就等着列级acl这个功能实现以后,再转换到3上去撒。 session management不知道是个什么东东,是检测应用中多人重复认证的session问题的吗?这个要去看一下。 换包也是个头疼的时,之前由于acegi的功能不是很完善,在其上做了很多的扩展,现在升级的话,这块的代码也得改,麻烦。 |
|
返回顶楼 | |
发表时间:2010-05-12
向高手学习了
|
|
返回顶楼 | |