﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-小菜毛毛技术分享-文章分类-权限管理</title><link>http://www.blogjava.net/caizh2009/category/39795.html</link><description>与大家共同成长</description><language>zh-cn</language><lastBuildDate>Fri, 24 Jul 2009 01:47:59 GMT</lastBuildDate><pubDate>Fri, 24 Jul 2009 01:47:59 GMT</pubDate><ttl>60</ttl><item><title>Spring Security</title><link>http://www.blogjava.net/caizh2009/articles/288028.html</link><dc:creator>小菜毛毛</dc:creator><author>小菜毛毛</author><pubDate>Thu, 23 Jul 2009 06:42:00 GMT</pubDate><guid>http://www.blogjava.net/caizh2009/articles/288028.html</guid><wfw:comment>http://www.blogjava.net/caizh2009/comments/288028.html</wfw:comment><comments>http://www.blogjava.net/caizh2009/articles/288028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caizh2009/comments/commentRss/288028.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caizh2009/services/trackbacks/288028.html</trackback:ping><description><![CDATA[http://www.family168.com/tutorial/springsecurity/html/springsecurity.html<br />
Spring Security参考手册
<img src ="http://www.blogjava.net/caizh2009/aggbug/288028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caizh2009/" target="_blank">小菜毛毛</a> 2009-07-23 14:42 <a href="http://www.blogjava.net/caizh2009/articles/288028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Acegi框架介绍</title><link>http://www.blogjava.net/caizh2009/articles/277677.html</link><dc:creator>小菜毛毛</dc:creator><author>小菜毛毛</author><pubDate>Sun, 24 May 2009 06:54:00 GMT</pubDate><guid>http://www.blogjava.net/caizh2009/articles/277677.html</guid><wfw:comment>http://www.blogjava.net/caizh2009/comments/277677.html</wfw:comment><comments>http://www.blogjava.net/caizh2009/articles/277677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caizh2009/comments/commentRss/277677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caizh2009/services/trackbacks/277677.html</trackback:ping><description><![CDATA[<strong>【IT168 专稿】</strong>对于任何一个完整的应用系统，完善的认证和授权机制是必不可少的。Acegi Security（以下简称Acegi）是一个能为基于Spring的企业应用提供强大而灵活安全访问控制解决方案的框架，Acegi已经成为Spring官方的一个子项目，所以也称为Spring Security。它通过在Spring容器中配置一组Bean，充分利用Spring的IoC和AOP功能，提供声明式安全访问控制的功能。虽然，现在Acegi也可以应用到非Spring的应用程序中，但在Spring中使用Acegi是最自然的方式。 <br />
Acegi可以实现业务对象方法级的安全访问控制粒度，它提供了以下三方面的应用程序的安全： <br />
<br />
<strong>? URL资源的访问控制</strong> <br />
&nbsp;&nbsp;&nbsp; 如所有用户（包括其名用户）可以访问index.jsp登录页面，而只有授权的用户可以访问/user/addUser.jsp页面。Acegi允许通过正则表达式或Ant风格的路径表达式定义URL模式，让授权用户访问某一URL匹配模式下的对应URL资源。 <br />
<br />
? <strong>业务类方法的访问控制 </strong><br />
&nbsp;&nbsp;&nbsp; Spring容器中所有Bean的方法都可以被Acegi管理，如所有用户可以调用BbtForum#getRefinedTopicCount()方法，而只有授权用户可以调用BbtForum#addTopic()方法。 <br />
<br />
<strong>? 领域对象的访问控制</strong> <br />
&nbsp;&nbsp;&nbsp; 业务类方法代表一个具体的业务操作，比如更改、删除、审批等，业务类方法访问控制解决了用户是否有调用某种操作的权限，但并未对操作的客体（领域对象）进行控制。对于我们的论坛应用来说，用户可以调用BbtForum#updateUser(User user)方法更改用户注册信息，但应该仅限于更改自己的用户信息，也即调用BbtForum#updateUser()所操作的User这个领域对象必须是受限的。 <br />
<br />
&nbsp;&nbsp;&nbsp; Acegi通过多个不同用途的Servlet过滤器对URL资源进行保护，在请求受保护的URL资源前，Acegi的Servlet过滤器判断用户是否有权访问目标资源，授权者被开放访问，而未未被授权者将被阻挡在大门之外。 <br />
&nbsp;&nbsp;&nbsp; Acegi通过Spring AOP对容器中Bean的受控方法进行拦截，当用户的请求引发调用Bean的受控方法时，Acegi的方法拦截器开始工作，阻止未授权者的调用。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; 对领域对象的访问控制建立在对Bean方法保护的基础上，在最终开放目标Bean方法的执行前，Acegi将检查用户的ACL（Aeccess Control List：访问控制列表）是否包含正要进行操作的领域对象，只有领域对象被授权时，用户才可以使用Bean方法对领域对象进行处理。此外，Acegi还可以对Bean方法返回的结果进行过滤，将一些不在当前用户访问权限范围内的领域对象剔除掉——即传统的数据可视域范围的控制。一般来说，使用Acegi控制数据可视域未非理想的选择，相反通过传统的动态SQL的解决方案往往更加简单易行。 <br />
<br />
&nbsp;&nbsp;&nbsp; 从本质特性上来说，Servlet过滤器就是最原始的原生态AOP，所以我们可以说Acegi不但对业务类方法、领域对象访问控制采用了AOP技术方案，对URL资源的访问控制也使用了AOP的技术方案。使用AOP技术方案的框架是令人振奋的，这意味着，开发者可以在应用程序业务功能开发完毕后，轻松地通过Acegi给应用程序穿上安全保护的&#8220;铁布衫&#8221;。 <br />
<div id="ParagraphCount" style="display: none">1</div>
<div class="w_c2 top12">
<div class="l2 r" style="float: right"><img height="23" alt="" src="http://publish.it168.com/images/new_54.gif" width="63" align="absMiddle" /> <span class="f14"><a href="http://tech.it168.com/j/2007-05-22/200705221448921.shtml"><strong>1</strong></a> <a href="http://tech.it168.com/j/2007-05-22/200705221448921_1.shtml">2</a> <a href="http://tech.it168.com/j/2007-05-22/200705221448921_2.shtml">3</a> <a href="http://tech.it168.com/j/2007-05-22/200705221448921_3.shtml">4</a> <a href="http://tech.it168.com/j/2007-05-22/200705221448921_4.shtml">5</a> <a href="http://tech.it168.com/j/2007-05-22/200705221448921_5.shtml">6</a> <a href="http://tech.it168.com/j/2007-05-22/200705221448921_6.shtml">7</a> </span><a href="http://tech.it168.com/j/2007-05-22/200705221448921_1.shtml"><img height="23" alt="" src="http://publish.it168.com/images/new_56.gif" width="63" align="absMiddle" /></a> </div>
</div>
<img src ="http://www.blogjava.net/caizh2009/aggbug/277677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caizh2009/" target="_blank">小菜毛毛</a> 2009-05-24 14:54 <a href="http://www.blogjava.net/caizh2009/articles/277677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>