- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
acegi安全框架运用指南
ACEGI安全框架应用指南
级别: 中级
何平 系统架构师,独立顾问,培训讲师。
2005 年 12 月 26 日
文章来源于一次acegi的项目应用。因为业务需要与acegi框架缺省的应用方式有一定的区别,故在实际应用过程中尝试了对acegi的一定量的改造工作,从而具有一定的研究和学习价值。
文章中关于Acegi的介绍收入了其他文章中的内容,已在参教资料中列出资料来源。
内容大纲:
????????? 认识Acegi安全框架
????????? 安装并运行Acegi自带的范例
????????? 改造Acegi框架满足我们的业务要求
?
?
?
?
具体内容:
????????? 认识Acegi安全框架
Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全系统能够轻松地适用于复杂的安全需求。
安全涉及到两个不同的概念,认证和授权。前者是关于确认用户是否确实是他们所宣称的身份。授权则是关于确认用户是否有允许执行一个特定的操作。???????在Acegi安全系统中,需要被认证的用户,系统或代理称为Principal。Acegi安全系统和其他的安全系统不同,它并没有角色和用户组的概念
?
?
????????? 关键组件
Acegi安全系统包含以下七个关键的功能组件:
l Authentication对象,包含了Principal,Credential和Principal的授权信息。同时还可以包含关于发起认证请求的客户的其他信息,如IP地址。
??? 2 ContextHolder对象,使用ThreadLocal储存Authentication对象的地方。
??? 3 AuthenticationManager,用于认证ContextHolder中的Authentication对象。
??? 4 AccessDecissionManager,用于授权一个特定的操作。
??? 5 RunAsManager,当执行特定的操作时,用于选择性地替换Authentication对象。
??? 6 Secure Object拦截器,用于协调AuthenticationManager,AccessDecissionManager,RunAsManager和特定操作的执行。
7 ObjectDefinitionSource,包含了特定操作的授权定义。
这七个关键的功能组件的关系如下图所示(图中灰色部分是关键组件):
?
?
????????? 安全管理对象
Acegi安全系统目前支持两类安全管理对象。
??? 第一类的安全管理对象管理AOP Alliance的MethodInvocation,开发人员可以用它来保护Spring容器中的业务对象。为了使Spring管理的Bean可以作为MethodInvocation来使用,Bean可以通过ProxyFactoryBean和BeanNameAutoProxyCreator来管理,就像在Spring的事务管理一样使用。
?? ? 第二类是FilterInvocation。它用过滤器(Filter)来创建,并简单地包装了HTTP的ServletRequest,ServletResponse和FilterChain。FilterInvocation可以用来保护HTTP资源。通常,开发人员并不需要了解它的工作机制,因为他们只需要将Filter加入web.xml,Acegi安全系统就可以工作了。
?
?
????????? 安全配置参数
每个安全管理对象都可以描述数量不限的各种安全认证请求。例如,MethodInvocation对象可以描述带有任意参数的任意方法的调用,而FilterInvocation可以描述任意的HTTP URL。
??? Acegi安全系统需要记录应用于每个认证请求的安全配置参数。例如,对于BankManager.getBalance(int accountNumber)方法和BankManager.approveLoan(int applicationNumber)方法,它们需要的认证请求的安全配置很不相同。
??? 为了保存不同的认证请求的安全配置,需要使用配置参数。从实现的视角来看,配置参数使用ConfigAttribute接口来表示。Acegi安全系统提供了ConfigAttribute接口的一个实现,SecurityConfig,它把配置参数保存为一个字符串。
??? ConfigAttributeDefinition类是ConfigAttribute对象的一个简单的容器,它保存了和特定
您可能关注的文档
最近下载
- (2025秋新版)人教版三年级数学上册全册教案.docx
- 福建省厦门市2024届高三上学期期中考试数学试题含答案.pdf VIP
- 律师案件卷宗封面+目录+结模版(民事).docx VIP
- 新22S6 消防工程图集 .docx VIP
- 2025年四年级体育抽考题及答案.doc VIP
- (高级)航空油料特设维修员(三级)理论考试题库-下(判断题汇总).docx VIP
- 9宫格数独专项练习题(每日一练,初级、中级、高级各20套题).pdf VIP
- RISN-TG028-2017 保温装饰板外墙外保温工程技术导则规范.pdf VIP
- 四年级体育与健康测评试卷附答案.doc VIP
- 320种中成药功效主治表格汇总.pdf VIP
原创力文档


文档评论(0)