<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> Turbine提供了一个简单、强大的安全服务。Turbine基于安全对象模型构建安全服务:用户、组、角色、权限。 一个角色是一个或多个不同权限的集合;一个或多个角色对应一个用户;组是被分配了权限的用户的集合。Turbine为User、Group、Role、Permission等实体提供了对应的User、Group、Role、Permission接口,并为这些接口提供了缺省的实现类。这些接口和实现类存在于org.apache.turbine.om包路径下。 Turbine提供了BaseSecurityService、SecurityService、TurbineSecurity三个安全服务抽象类,我们只需要实现BaseSecurityService抽象类。根据存储安全信息的介质是DB或LDAP,Turbine为BaseSecurityService提供了DBSecurityService和LDAPSecurityService两个实现类。这两个类分别实现了自己的getACL(User )方法,用于得到一个用户的访问权限列表AccessControlList。 当用户请求提交给Turbine后,Turbine验证用户的有效性。对于有效的用户,Turbine执行DBSecurityService或LDAPSecurityService的getACL(User)方法,得到这个有效用户的AccessControlList,并缓存AccessControlList对象在Run Object中。有了AccessControlList数据后,Turbine后端的Modules能够很方便地检查用户能做什么,不能做什么。 Turbine提供了UserManager抽象类管理系统的用户。根据安全信息的存储介质是LDAP或DB,Turbine提供了LDAPUserManager和DBUserManager两个实现类,分别管理LDAP或数据库中的用户信息。 作者:Jurich 工作单位:航天四创软件技术有限公司 相关经历:本人从事Jetspeed为基础的门户产品开发和门户应用开发已经有1年多的时间,熟悉J2EE技术体系,熟悉门户开发技术。欢迎有相关项目的组织或个人在技术方面经常交流。 联系方式:zhuhuangfeng@aerostrong.com.cn
Turbine的安全服务
最新推荐文章于 2025-06-18 11:44:39 发布