文档详情

spring+acegi+中文手册.doc

发布:2017-09-25约4.2万字共73页下载文档
文本预览下载声明
本章内容: n? Acegi安全系 n? 使用ServletWeb应用系统 n? 基于数据LDAP进行身份认证 n? 透明地 ? ? ? 你是否曾注意到在Seinfeld中,Krammer常常到Jerry的房Friends中,各Ross突然Chandler的旅Chandler和Ross的妹妹的私情。 在20世50年代Leave It to Beaver 类似地,在软件系统中,允许任何人可以访问敏感或者私密的信息是不明智的。应用系统必须通过质询来验证用户身份,据此决定是允许还是拒绝他访问受限制的信息。无论你是通过用户名/密 我“切面”是将安全有 如果你想到 “面向切面”技Acegi安全系Spring AOP和Servlet[1]来保护应用系统的各种手段。 11.1? Acegi安全系 Acegi是一个能Spring的Spring应用上下文中配置的Bean,充分利用了Spring 当保Web应用系统时,Acegi使用ServletServlet请求,以实施身份认证并强制安全性。并且,在第11.4.1节你将会看到,Acegi采取了一Servlet过滤器,使你可以使用Spring IoC注入它所依 Acegi也能Spring AOP,Acegi代理象,将“切面” 无Web应用程序还是需要方法调用级别的安全性,Acegi都是使用如11.1所示的4个主要 图11.1? Acegi安全的基本 通Acegi安全机制的本先。 11.1.1? 安全 为了释放锁舌并打开门,你必须先把钥匙插到锁孔中,并恰当地拨动锁的制栓。如果钥匙和锁不匹配,就无法拨动制栓并释放锁舌。但如果你有正确的钥匙,所有的制栓就会接受这把钥匙,锁舌就会释放,从而允许你把门打开。 在Acegi中,可以受保“锁舌”并通“钥匙”(通常是一“钥匙”会“制栓”,从而允。 11.1.2? 第一道必。主体(通常是一个用凭(通常是一个密 你的主体定Acegi就能知道它在和。 11.1.3? 一旦Acegi决定了你是是Acegi 例如,安全——访问决策管理器——会被打。 11.1.4? 运行身份管理器 当你通 即使你已Web页面,但用于创建该页面的对象也许和页面本身有不同的安全需求。一个运行身份管理器可以用另一个身份替换你的身份,从而允许你访问应用系统内部更深处的受保护对象。 运行身份管理器的用Acegi保 现在,你已经看到了Acegi安全性的全貌,Acegi安全系。 11.2 ?管理身份 决定是否允 在Acegi中,是由net.sf.acegisecurity.AuthenticationManager定 ? public interface AuthenticationManager { ??? public Authentication authenticate(Authentication authentication) ???????? throws AuthenticationException; ? } ? 认证管理器的authenticate()方法需要一个net.sf.acegisecurity.Authenticationauthenticate()方法返回一个完整的AuthenticationAuthenticationException。 正如你所AuthenticationManager接口非常AuthenticationManager。但是Acegi提供了ProviderManager,作AuthenticationManager的一个适用于大多数情形的ProviderManager。 11.2.1 ?配置ProviderManager ProviderManager是11.2所示。 图11.2? ProviderManager将身份 ProviderManager的思路是使你能? 你可以在Spring配置文件中按如下方式配置一个ProviderManager: ? ? bean id=authenticationManager ?????? class=viders.ProviderManager ??? property name=providers ????? list ??????? ref bean=daoAuthenticationProvider/ ??????? ref bean=passwordDaoProvider/ ????? /list ??? /property ? /bean ? 通providers属性可以ProviderManager提供一个在这种情况下,如果一个认证提供者验证身份失败,可以尝试另一个认证提供者。一个认证提供者是由vider.AuthenticationProvider接口定Spring提供了若干个Authent
显示全部
相似文档