Acegi配置指南.doc_第1页
Acegi配置指南.doc_第2页
Acegi配置指南.doc_第3页
Acegi配置指南.doc_第4页
Acegi配置指南.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Acegi配置指南(1) Acegi Demoweb.xml配置代码: . Acegi Filter Chain Proxy org.acegisecurity.util.FilterToBeanProxy targetBean filterChainProxy . Acegi Filter Chain Proxy /* .说明:采用Web的过滤器,构造一个过滤器链代理。初始参数:参数名描述targetBean从Spring中查找Bean名一致的类,交由该类处理真正的Web过滤。推荐使用。targetClass从JVM中查找类名一致的类,交由该类处理真正的Web过滤。不同J2EE容器可能会导致不同结果,会被targetBean参数覆盖。不推荐使用。init初始值。可能值包括: lazy:延迟加载。主要解决由于Spring采用ContextLoaderServlet加载模式时有可能会晚于该filter而导致filter加载失败的问题。lifecycle指定生命周期。可能值包括: servlet-container-managed:容器托管。一般情况下,Acegi的Filter采用Spring的AOP回调,启动和结束调用beforeXxx()和afterXxx()方法。如果采用J2EE规范中提供的filter方法init()和destroy(),设置该参数。acegi.xml配置过滤器链(filterChainProxy)代码:. PATTERN_TYPE_APACHE_ANT /*=httpSessionContextIntegrationFilter, basicProcessionFilter, exceptionTranslationFilter, filterInvocationInterceptor .说明:过滤器链,配置一组过滤器。参数:参数描述filterInvocationDefinitionSource指定一组过滤器的Bean名。过滤器:过滤器描述httpSessionContextIntegrationFilter负责完成Acegi上下文与HTTP Session同步。basicProcessionFilter负责完成用户的认证。exceptionTranslationFilter负责处理认证和授权中出现的异常。filterInvocationInterceptor负责完成用户的授权。Spring Bean关系图:说明:每个图块为一个Spring Bean。斜体Bean和同名正体Bean为同一个Bean。HTTP会话集成(httpSessionContextIntegrationFilter)代码: 说明:负责完成Acegi上下文与HTTP Session同步。如果HTTP Session中存放了之前的认证信息,将其还原到Acegi上下文中。退出应用时会清除掉HTTP Session中的认证信息。参数:Bean参数描述httpSessionContextIntegrationFilterHTTP会话集成allowSessionCreation是否创建Session。可能值包括: true:创建Session。默认值。 false:不创建Session 。基本认证(basicProcessionFilter)代码: admin=password,ROLE_ADMIN 说明:负责完成用户的认证,会调用认证管理器进行用户认证。如果认证不成功调用EntryPoint,构造返回信息,如401,浏览器会弹出对话框要求用户输入用户名和密码。需要指派认证管理器、认证源和EntryPoint。参数:Bean参数描述basicProcessingFilter基本认证过滤器authenticationManager指派认证管理器。authenticationEntryPoint指派EntryPoint。authenticationManager认证管理器providers指派认证源提供者。多值。daoAuthenticationProviderDAO认证源提供者userDetailsService指派认证实现服务。inMemDaoImpl用户信息源(内存)userMap用户名/密码/角色信息,写死在配置文件中。一般用于演示。格式:uid=pw,rolebasicProssingFilterEntryPoint基本认证入口点realmName返回到浏览器的提示信息:域名。Spring Bean关系图:说明:每个图块为一个Spring Bean。斜体Bean和同名正体Bean为同一个Bean。异常处理(exceptionTranslationFilter)代码: 说明:负责处理认证和授权中出现的异常。如果出现异常,调用EntryPoint。参数:Bean参数描述exceptionTranslationFilter异常处理过滤器authenticationEntryPoint指派EntryPoint。createSeesionAllowed是否创建Session。可能值包括: true:创建Session。默认值。 false:不创建Session 。Spring Bean关系图:说明:每个图块为一个Spring Bean。斜体Bean和同名正体Bean为同一个Bean。授权拦截(filterInvocationInterceptor)代码: PATTERN_TYPE_APACHE_ANT /securedpage.jsp=ROLE_ADMIN 负责完成用户的授权。给受保护的Web资源指定角色,指定授权策略。参数:Bean参数描述filterInvocationInterceptor授权拦截器authenticationManager指派认证管理器。accessDecisionManager指派访问策略管理器。objectDefinitionSourceWeb资源/角色信息,写死在配置文件中。一般用于演示。格式:/uri=roleaccessDecisionManager授权策略管理器decisionVoters指派投票策略。多值。roleVoter投票策略实现无Spring Bean关系图:说明:每个图块为一个Spring Bean。斜体Bean和同名正体Bean为同一个Bean。监听器代码:说明:监听Acegi的认证/授权过程,并生成日志。完整关系图说明:每个图块为一个Spring Bean。斜体Bean和同名正体Bean为同一个Bean。Acegi配置指南(2) 认证源配置DAO认证源代码: !- - !- admin=password,ROLE_ADMIN - select username,password,enabled from users where username=? select username,authority from users where username=? !- select username,authority from authorities where username=? - 参数:Bean参数描述daoAuthenticationProviderDao认证源提供者userDetailsService指派用户信息提供者(必需)passwordEncoder指派密码编码器userCache指派缓存saltSource指定加盐模式forcePrincipalAsStringhideUserNotFoundExceptionsincludeDetailsObjectmessageSourcepostAuthenticationCheckspreAuthenticationChecksinMemDaoImpl用户信息源(内存)userPropertiesProperties,可以指定Properties文件路径。userMapMap,写死在xml中。jdbcDaoImpl用户信息源(数据库)usersByUsernameQuery查询用户信息的SQL authoritiesByUsernameQuery查询用户权限的SQL dataSource指定数据源plaintextPasswordEncoder密码编码器(明文)ignorePasswordCase是否忽略密码大小写,默认值为否md5PasswordEncoder密码编码器(MD5)encodeHashAsBase64是否使用BASE64编码。使用“否”才能正常工作。shaPasswordEncoder密码编码器(SHA)构造方法参数1加密强度,推荐值为“256”encodeHashAsBase64是否使用BASE64编码。使用“是”才能正常工作。userCache缓存(存放用户信息)cache指定缓存实例 默认SQL为:select username, password, enabled from users where username=? 默认SQL为:select username, authority from authorities where username=?Spring Bean关系图:说明:每个图块为一个Spring Bean。斜体Bean和同名正体Bean为同一个Bean。LDAP认证源代码: !- - !- - uid=0,ou=users !- - uid=0,ou=users 参数:Bean参数描述ldapAuthenticationProviderLdap认证源提供者构造参数1指派用户基本信息认证模块构造参数2指派提供用户权限信息模块userCache指派缓存passwordComparisonAuthenticator提供用户基本信息(密码比较)构造参数1指派LDAP连接工厂userDnPatterns指定查找用户相对DN,多值passwordAttributeName指定存放密码的属性passwordEncoder指派密码编码器bindAuthenticator提供用户基本信息(绑定登录)构造参数1指派LDAP连接工厂userDnPatterns指定查找用户相对DN,多值defaultLdapAuthoritiesPopulator提供用户权限信息构造参数1指派LDAP连接工厂构造参数2指定存放角色的相对DngroupSearchFilter指定查找组成员的属性groupRoleAttribute指定存放角色名的属性convertToUpperCase是否将查询的角色名转换成大写defaultRole指定提供一个缺省的角色名searchSubtree是否查询子树rolePrefix指定角色名称的前缀initialDirContextFactoryLDAP连接工厂构造参数1连接LDAP的URLmanagerDn连接Ldap的管理员DnmanagerPassword连接Ldap的管理员密码useConnectionPool是否使用连接池authenticationType连接Ldap的认证模式initialContextFactory初始化上下文工厂Spring Bean关系图:说明:每个图块为一个Spring Bean。斜体Bean和同名正体Bean为同一个Bean。Acegi配置指南(3) 认证模式配置(一)HTTP基本认证HTTP基本认证利用浏览器的认证窗口搜集用户名和密码,以下是各个浏览器的效果图:1 2 3 IE6下的效果图 IE7下的效果图 FireFox下的效果图同时,还加入了退出、免登录和匿名三个过滤器。代码: admin=password,ROLE_ADMIN 说明:在基本认证过滤器之前加入退出过滤器,之后加入免登录过滤器和匿名过滤器。参数:Bean参数描述logoutFilter退出过滤器构造参数1指定退出后的重定向url构造参数2指派退出的执行句柄,多值 退出免登录服务 退出安全上下文securityContextLogoutHandler安全上下文退出句柄invalidateHttpSession是否让HTTP会话失效basicProcessingFilter基本认证过滤器authenticationManager指派认证管理器authenticationEntryPoint指派EntryPointrememberMeServices指派免登录服务authenticationManager认证管理器providers指派认证源提供者,多值 DAO认证源提供者 免登录认证源提供者 匿名认证源提供者daoAuthenticationProviderDAO认证源提供者userDetailsService指派用户信息源inMemDaoImpl用户信息源(内存)userMap用户信息basicProssingFilterEntryPoint基本认证入口点realmName返回到浏览器的提示信息:域名。rememberMeProcessingFilter免登录过滤器authenticationManager指派认证管理器rememberMeServices指派免登录服务reme

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论