学习spring security3的一点理解

断断续续看了spring security3 好几周,总体感觉xml的配置有点复杂,关于它的工作原理与流程也看了好久才明白一点点。

主要还是这边文章给予的帮助,链接:http://www.blogjava.net/youxia/archive/2008/12/07/244883.html

据我的理解,大概原理是:通过一系列filter过滤器过滤请求信息,其中包括是否登陆的认证等。

我猜想它的大概流程是,

用户请求--

检查是否登陆--

如果没登陆--

进入登陆页面--

如果登陆,把该用户所有权限加载到session,这里的权限可以是菜单的url,也可以是页面的按钮或者超链接--

当用户登陆后点击某个资源时,会去session中判断该资源是否存在,如果不存在,则提示权限不够--

如果存在就通过。

如果是这样,则先不管是否有权限,在web页面会把所有资源都列出来,当请求该资源时才去验证。

而实际当中,一般,我们会在用户登陆后,如果用户有相应的权限才列出相应的资源,如目录、按钮、超链接等,而不是全部列出。这样可以让用户减少一些不必要的操作。

所以,本人觉得spring security3方案不够合理。

可以自己实现,简单一点的安全无非是,1、是否登陆 2、是否能看到相应菜单 3、是否能看到页面中特殊按钮或超链接。

1、2点可以自己写filter实现,3点可以用自定义标签实现。

这就是我所想,具体没有实践过,觉得理论上行得通。

 

posted on 2012-04-13 09:59  xiong2012  阅读(2717)  评论(0编辑  收藏  举报