Acegi Security.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Acegi Security

Acegi 下面的介绍都是以这个Web例子为介绍的, 大家最好先把例子下载下来体会下, 先大致地看下web.xml和application_acegi_context.xml这两个文件的内容, 以对Acegi的配置有个直观的印象. ??? 咱们从web.xml文件开始. ??? 我们看到这个文件特简单, 一共就context-param,filter,filter-mapping,listener,welcome-file-list五个配置元素. 先从最熟悉的配置元素逐个排除.第一个 welcome- file-list不必多说, 排除掉. 再看listener,由于Acegi是建立在Spring框架上的, 这里通过listener来初始化Spring的Context是情理之中的, 也就不必再多考虑. 有了listener的理解基础,我们再看context-param也就明白了,这个元素把Acegi的配置文件 applicationContext-acegi-security.xml 提供给Spring.下面进入Acegi在Web应用中的关键部件Filter, 我们知道Acegi在Web应用方面的一个基本原理就是Servlet的Filter,这里配置中Filter实现类是 FilterToBeanProxy, 它有一个配置参数targetClass,其值为 FilterChainProxy, 这个Filter的配置很简单, 大多数 情况下我们可以直接从现有的例子中拷来就行, 很少需要做什么配置上的改动.不过,若想把Acegi工作原理及其工作细节搞明白的话,这个FilterToBeanProxy到 FilterChainProxy的转换是不能躲过的关键点,再进一步想, 看人家是怎么设计实现的对自己的钱途也是大有帮助的吧?从我自身的体会上来看, FilterToBeanProxy和 FilterChainProxy两个类在设计上很有嚼头,我想着在另外的博客中单独来看它们的实现与给自己的启发, 这里我们先有这样的一个概念: FilterToBeanProxy在 doFilter时会从Spring的Context里get出 FilterChainProxy的实例, FilterChainProxy自身也是一个Filter的实现类,它在 applicationContext-acegi-security.xml文件中初始化, 这样, FilterToBeanProxy就把经过它的所有请求转给了 FilterChainProxy来处理, 这样就上了Acegi的道儿,也就是拦截下来的请求在真正做事前需得到Acegi的许可. ??? 下面我们来看 applicationContext-acegi-security.xml文件,上面的分析我们得出, ? FilterToBeanProxy把拦截下的请求交给了 FilterChainProxy来处理, 这个处理就是Acegi的核心概念Authentication和Authorization的实现. ??? 在这个文件中我们首先看到如下的配置信息: ?? ? bean id=filterChainProxy ?? ??? ?class=org.acegisecurity.util.FilterChainProxy ?? ??? ?property name=filterInvocationDefinitionSource ?? ??? ??? ?value ?? ??? ??? ??? ?CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON ?? ??? ??? ??? ?PATTERN_TYPE_APACHE_ANT ?? ??? ??? ??? ?/login.jsp=#NONE# ?? ??? ??? ??? ?/**=httpSessionContextIntegrationFilter,authenticationProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor ?? ??? ??? ?/value ?? ??? ?/property ?? ?/bean??? ??? 在上面介绍 web.xml文件内容时,我们提到FilterToBeanProxy从Spring的Contextget出 FilterToBeanProxy的实例,上面的配置信息让Spring来初始化 FilterChainProxy 类,随便说下, 这里 FilterChainProxy实现的id没有用到,再进一步想,Spring可以不用id再用类名就可以得到其实例.回到正题, Filt

文档评论(0)

taotao0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档