- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
{安全生产管理}安全框架
应用指南
ACEGI 安全框架应用指南
级别:中级
何平系统架构师,独立顾问,培训讲师。
2005 年 12 月 26 日
文章来源于一次acegi 的项目应用。因为业务需要与acegi 框架缺省的应用方式有一定的区别,故在实际应
用过程中尝试了对acegi 的一定量的改造工作,从而具有一定的研究和学习价值。
文章中关于Acegi 的介绍收入了其他文章中的内容,已在参教资料中列出资料来源。
内容大纲:
认识 Acegi 安全框架
安装并运行 Acegi 自带的范例
改造Acegi 框架满足我们的业务要求
具体内容:
认识 Acegi 安全框架
Acegi 安全系统,是一个用于 SpringFramework 的安全框架,能够和目前
流行的Web 容器无缝集成。它使用了 Spring 的方式提供了安全和认证安全服
务,包括使用BeanContext ,拦截器和面向接口的编程方式。因此,Acegi 安
全系统能够轻松地适用于复杂的安全需求。
安全涉及到两个不同的概念,认证和授权。前者是关于确认用户是否确
实是他们所宣称的身份。授权则是关于确认用户是否有允许执行一个特定的
操作。
在 Acegi 安全系统中,需要被认证的用户,系统或代理称为
Principal 。Acegi 安全系统和其他的安全系统不同,它并没有角色和用户
组的概念
关键组件
Acegi 安全系统包含以下七个关键的功能组件:
lAuthentication 对象,包含了 Principal ,Credential 和 Principal 的
授权信息。同时还可以包含关于发起认证请求的客户的其他信息,如 IP 地址。
2ContextHolder 对象,使用 ThreadLocal 储存 Authentication 对象的地方。
3AuthenticationManager ,用于认证ContextHolder 中的Authentication 对
象。
4AccessDecissionManager ,用于授权一个特定的操作。
5RunAsManager ,当执行特定的操作时,用于选择性地替换Authentication
对象。
6SecureObject 拦截器,用于协调 AuthenticationManager ,
AccessDecissionManager ,RunAsManager 和特定操作的执行。
7ObjectDefinitionSource ,包含了特定操作的授权定义。
这七个关键的功能组件的关系如下图所示(图中灰色部分是关键组件):
安全管理对象
Acegi 安全系统目前支持两类安全管理对象。
第一类的安全管理对象管理AOPAlliance 的MethodInvocation ,开发人员可以用
它来保护Spring 容器中的业务对象。为了使 Spring 管理的Bean 可以作为
MethodInvocation 来使用,Bean 可以通过 ProxyFactoryBean 和
BeanNameAutoProxyCreator 来管理,就像在Spring 的事务管理一样使用。
第二类是FilterInvocation 。它用过滤器(Filter)来创建,并简单地包装了HTTP
的ServletRequest ,ServletResponse 和 FilterChain 。FilterInvocation 可以
用来保护HTTP 资源。通常,开发人员并不需要了解它的工作机制,因为他们只
需要将Filter 加入,Acegi 安全系统就可以工作了。
安全配置参数
每个安全管理对象都可以描述数量不限的各种安全认证请求。例如,
MethodInvocation 对象可以描述带有任意参数的任意方法的调用,而
FilterInvocation 可以描述任意的HTTPURL 。
Acegi 安全系统需要记录应用于每个认证请求的安全配置参数。例如,对于
(intaccountNumber)方法和(intapplicationNumber)方法,它们需要的认证
请求的安全配置很不相同。
为了保存不同的认证请求的安全配置,需要使用配置参数。从实现的视角来
您可能关注的文档
- (项目管理)项目绩效自评报告.pdf
- (项目管理)项目经理必备的十项素质.pdf
- (项目管理)学校项目推进月纪录表.pdf
- (销售管理)营销类考核—客户管理考核.pdf
- (信息技术)小学信息技术三年级上教案第二单元初步认识计算机.pdf
- (冶金行业)关于转发省煤炭工业厅建设煤矿领导带班下井及安全监督检查规定实施.pdf
- (冶金行业)焦家金矿矿体开采设计.pdf
- (冶金行业)矿井水的综合利用技术.pdf
- (冶金行业)连廊满堂红支架施工方案.pdf
- (业务管理)工商行政管理业务处理系统.pdf
- 陕西省安康市2023-2024学年七年级下学期期中地理试题(解析版).pdf
- 江西省宜春市丰城市第九中学2023-2024学年高二下学期期中考试地理试题(解析版).pdf
- 江西省宜春市丰城市第九中学2023-2024学年高二下学期期中考试地理试题(原卷版).pdf
- 江西省丰城中学2023-2024学年八年级下学期期中语文试题(解析版).pdf
- 2023年医政工作总结.pdf
- 辽宁省本溪市2023-2024学年七年级下学期期中语文试题(解析版).pdf
- 2023年内蒙古呼和浩特市中考生物试卷【附答案】.pdf
- 2023年军队文职人员招聘之军队文职法学通关题库(附答案).pdf
- 2022~2023自考专业(学前教育)考试题库及答案第763期.pdf
- 2022~2023自考专业(会计)考试题库及答案第118期.pdf
文档评论(0)