本周工作-学习计划!
重点掌握AcegiSecurity安全系统,为基于spring架构的web系统增加安全机制!
Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全系统能够轻松地适用于复杂的安全需求。
AcegiSecurity安全系统略述如下:
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对象的一个简单的容器,它保存了和特定请求相关的ConfigAttribute的集合。
当安全拦截器收到一个安全认证请求时,需要决定应用哪一个配置参数。换句话说,它需要找出应用于这个请求的ConfigAttributeDefinition对象。这个查找的过程是由ObjectDefinitionSource接口来处理的。这个接口的主要方法是public ConfigAttributeDefinition getAttributes(Object object),其中Object参数是一个安全管理对象。因为安全管理对象包含有认证请求的详细信息,所以ObjectDefinitionSource接口的实现类可以从中获得所需的详细信息,以查找相关的ConfigAttributeDefiniton对象。
Acegi如何工作
为了说明Acegi安全系统如何工作,我们设想一个使用Acegi的例子。通常,一个安全系统需要发挥作用,它必须完成以下的工作:
l 首先,系统从客户端请求中获得Principal和Credential;
2 然后系统认证Principal和Credential信息;
3 如果认证通过,系统取出Principal的授权信息;
4 接下来,客户端发起操作请求;
5 系统根据预先配置的参数检查Principal对于该操作的授权;
6 如果授权检查通过则执行操作,否则拒绝。
重点参考教材-spring in action 之 如何保护你的web系统!
网络相关资源!
在web系统中应用acegic安全系统!
分享到:
相关推荐
- 个人工作计划:适用于个人自我管理和提升,包括个人目标设定、学习计划等。 - 团队工作计划:适用于团队协作,需考虑团队成员的职责分配,确保团队目标一致。 - 项目工作计划:针对特定项目,需明确项目里程碑...
- **继任计划**:制定继任计划,确保关键职位的平稳过渡。这对于保持组织的稳定性和连续性尤为重要。 - **长期规划**:着眼于长远发展,制定清晰的战略规划。在IT项目管理中,这意味着不仅要关注当前项目的成功,...
3. **本周工作总结**:这部分内容没有给出,但从工作日志的结构来看,通常会包括对本周工作成果的总结,可能还会提到个人成长、团队合作的效果,以及对下周工作的展望。 综上所述,这篇工作日志展示了张祥国在Web...
### 初中部第3周工作计划知识点解析 #### 一、工作目标 ...通过以上详细的解析可以看出,这份工作计划涵盖了初中部第三周教学活动的各个方面,旨在通过细致的规划和严格的执行来提高教学质量和学生的学习体验。
5. **工作总结与反思**:6月8日,温元祯完成了本周工作总结和工作日志的编写。工作总结有助于回顾过去的工作,找出问题,总结经验,对提高工作效率和学习新技能具有积极作用。 6. **问题处理与记录**:日志中提到的...
本周工作总结中,温元祯提到他已经完成了Node.js异步I/O部分的学习,这表明他对这一概念有了深入的理解,能够在实际项目中运用。通过这样的自我提升,他将能够为团队带来更高效、更稳定的技术解决方案。 通过温元祯...
会计从业资格学习计划的制定是成功获取证书的关键步骤。以下是一份详细的会计从业资格学习计划的构建指南: 首先,计划需要全面。不仅包括会计专业知识的学习,还应涵盖法律法规、职业道德等相关内容。确保涵盖所有...
- 部内例会:安排下周工作,总结本周工作。 - 开展文化活动:丰富校园文化,支持各类活动的宣传。 - 工作记录:详细记录工作内容和材料使用情况。 - 培养新成员:让新部员逐渐独立,提升工作能力。 - 材料与...
**本周工作总结**:常佳辉通过这份日志总结了他这一周的工作,包括已完成的任务和正在进行的工作,这有助于他反思工作流程,识别可能的瓶颈,以便在未来的工作中进行改进。 【遇到的问题处理情况】:虽然原文未具体...
通过总结本周工作,可以评估个人表现,找出可以改进的地方,为下一周的工作提供参考。 6. **问题解决策略**:日志中虽未详述具体遇到的问题和处理情况,但可以看出温元珍在遇到问题时能够及时处理,这体现了其解决...
#### 二、本周工作重点 1. **安全教育**:强调安全教育的重要性,将其作为“安全第一课”,确保学生掌握必要的安全知识。 2. **收心教育工作**:通过班主任和科任老师的共同努力,帮助学生快速进入学习状态。 3. **...
- 包括工作、学习和个人生活三大方面,特别是个人生活的安排,如家庭、聚会、旅游等,这些都需要被细致规划。 - 工作方面,需要区分自己独立完成的任务、需要团队合作完成的任务以及由他人完成的任务等不同类别。 *...
- 每周五进行班级会议,总结本周工作,分享有效方法,查找改进空间。 - 每月与家长委员会沟通,讨论最新的幼教信息和主题活动进展,适时调整教学目标。 - 每日结束时进行工作总结,规划次日的工作安排。 - 教师...
- **工作摘要**:简述本周完成的关键任务。 - **进度更新**:详细列出各个项目或任务的当前状态,包括完成度、待解决的问题等。 - **成就与挑战**:分享成功的案例,同时提出遇到的困难和解决方案。 - **时间...
### 财务周工作计划综合知识点 ...综上所述,财务人员通过制定周密的工作计划、积极参与培训、严格执行财务职责、不断学习和提升自身能力等多种途径,可以在财务管理领域发挥更大的作用,为企业创造更多价值。
【文档标题】:“阳极组装一车间二班2017年1月份第二周工作计划总结” 【文档描述】:该文档是关于2017年1月阳极组装一车间二班第二周的工作总结,涵盖了产量、质量、班组建设与培训、设备管理和现场定制化等方面的...
5. **工作总结与提交**:蒋波在本周提交了设计说明书、工作计划、工作日志和会议记录各1次。这些文档的提交不仅是对个人工作的记录,也是团队协作的基础,确保所有团队成员都能了解彼此的工作进度和成果,同时也有利...
### 古城学校小学部第十周工作计划知识点详解 #### 教师工作任务 1. **确定教学内容和教学方法:** - 根据教学大纲和教材内容,结合学生的实际情况来设计合理的教学方案。 - 需要考虑学生的基础水平、接受能力等...
- **持续学习与适应**:鼓励团队成员不断学习新技能,并根据实际情况灵活调整计划。 ### 结语 “敏捷周计划”是敏捷开发实践中非常重要的一部分,它不仅有助于提高工作效率,还能够促进团队成员之间的沟通与协作。...
刘佳恒在本周的工作总结中没有提及具体的问题处理情况,可能是因为问题已经在会议或个人学习中得到解决,或者尚未遇到重大难题。 总结,刘佳恒在这一周的工作中展示了良好的团队协作精神和自我驱动的学习能力。他...