Acegi将资源权限数据存储到数据库

Acegi将资源权限数据存储到数据库

ID:39464252

大小:316.00 KB

页数:23页

时间:2019-07-03

Acegi将资源权限数据存储到数据库_第1页
Acegi将资源权限数据存储到数据库_第2页
Acegi将资源权限数据存储到数据库_第3页
Acegi将资源权限数据存储到数据库_第4页
Acegi将资源权限数据存储到数据库_第5页
资源描述:

《Acegi将资源权限数据存储到数据库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、夜阑犹翦灯花弄赶项目--

2、回首页

3、2005年索引

4、--认识了一个叫丹丹的女孩Acegi资源配置动态扩展实现--                                      1.问题提出在使用AcegiSecurityFramework的过程中,如果细心的话,会发现其资源和角色配置是在配置文件中的,下面是Appfuse中相关配置:class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">                          

5、 CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON        PATTERN_TYPE_APACHE_ANT        /signup.html=ROLE_ANONYMOUS,admin,tomcat        /passwordhint.html*=ROLE_ANONYMOUS,admin,tomcat        /**/*.html*=admin,tomcat        /clickstreams.jsp=admin            2.E-R模型下图是需要的E-

6、R模型图1Acegi标准RBACE-R设计图中的用户与角色不再多做解释,我们主要关注一下Permission表和Resource表,这里Resource表用于存储系统资源,在web层一般来说就是url,如果使用acl,就是aclClass,此时Permission表中的aclMask用来存储对应的acl权限,考虑到acl在web项目中使用率不高,下面我将着重介绍web层的权限控制,对acl有兴趣的读者可以自己参阅AcegiReferenceGuide.3.如何阻止acegi从配置文件读取权限配置从Appfuse中的示例性配置可以

7、看出,acegi对权限配置的要求是“资源=角色1,角色2…角色n”,看过源代码的读者应该知道,最终这些配置将被组装为net.sf.acegisecurity.intercept.ObjectDefinitionSource(web层对应的实现是net.sf.acegisecurity.intercept.web.FilterInvocationDefinitionSource),那么我们怎么才能用数据库的数据来组装FilterInvocationDefinitionSource?这里涉及到一个PropertyEditor问题,在

8、Acegi中,FilterInvocationDefinitionSource是通过net.sf.acegisecurity.intercept.web.FilterInvocationDefinitionSourceEditor组装的,假如我们不想让FilterInvocationDefinitionSourceEditor从配置文件中读取权限配置,就需要自己实现一个ProdertyEditor来覆盖默认实现,下面是我的配置:图2customerEditorConfigurer配置那么,这个PropertyEditor中需要做

9、些什么呢?要做的就是使用一个比较特殊的标记,当遇到这个特殊标记的时候直接略过解析,我这里使用的标记是“DONT_USE_ME”,然后在PropertyEditor中简单的如下实现即可:/**Copyright2004-2005wangz.*Projectshufe_newsroom*/packagecom.skyon.um.security.acegi.intercept.web;importjava.beans.PropertyEditorSupport;importjava.io.BufferedReader;importj

10、ava.io.IOException;importjava.io.StringReader;importnet.sf.acegisecurity.ConfigAttributeDefinition;importnet.sf.acegisecurity.ConfigAttributeEditor;importnet.sf.acegisecurity.intercept.web.FilterInvocationDefinitionMap;importnet.sf.acegisecurity.intercept.web.PathBas

11、edFilterInvocationDefinitionMap;importnet.sf.acegisecurity.intercept.web.RegExpBasedFilterInvocationDefinitionMap;importorg.apache.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。