本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
本博客在此声明所有文章均为转摘,只做资料收集使用。并无其他商业用途。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:210
评论数量:205
留言数量:-19
访问次数:919555
建立时间:2007年5月10日




[acegi权限认证]acegi自带例子学习(一)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2007/7/4 14:35:38

这是一个Acegi官方的例子。它以联系人的管理为例子,说明如何使用Acegi作权限控制。这个例子包含在acegi的包里面。下载地址:http://prdownloads.sourceforge.net/acegisecurity/acegi-security-0.8.3.zip?download。 联系人管理说明了下列中心的Acegi安全控制能力: Role-based security(基于角色的安全)――每个责任人都是某个角色的一员。而角色被用来限制对某些安全对象的访问。 Domain object instance security(域对象实例安全)――合同,这个系统里的主要域对象,拥有一个访问控制列表(ACL),用来指明谁允许读、管理和删除对象。 Method invocation security(方法调用安全)――这个 ContactManager服务层对象 包含一些受保护的和公开的方法。 Web request security(Web请求安全)――这个“/secure”URI路径被使用Acegi安全保护,使得没有ROLE_USER 角色的用户无法访问。. Security unaware application objects(保护未知的应用对象)――受保护的对象与Acegi之间没有明显的耦合或契约,所以它们没有察觉到安全是由Acegi 提供的。* Security taglib usage(安全标签库使用)――所有的JSP使用Acegi 安全标签库来封装安全信息。* Fully declarative security(完全声明式的安全)――每一个安全方面特性都是在application context里面使用标准的Acegi安全对象来配置的。 * Database-sourced security data(支持数据库来源的安全数据)――所有的用户、角色和ACL信息都可以从一个兼容JDBC的内存数据库获得。 Integrated form-based and BASIC authentication(集成基于表单和BASIC验证)―― 任何BASIC验证头部被检测以及作为验证使用。默认使用基于表单的普通交互式验证。 Remember-me services(记住我的服务)―― Acegi安全的插件式的“remember-me” 策略被演示。在登录表单里有一个相关的选择框与之对应。 联系人管理的业务功能描述: 1. 1. 每个用户登录后,可以看到一个联系人列表。例如, marissa's Contacts id Name Email 1 John Smith john@somewhere.com Del Admin Permission 2 Michael Citizen michael@xyz.com 3 Joe Bloggs joe@demo.com Del 4 Karen Sutherland karen@sutherland.com Del Admin Permission Add 说明:用户没有权限访问的联系人信息,将不会显示。 2. 2. 用户可以增加新的联系人信息。 3. 3. 如果有删除权限,用户可以看到在联系人后面有一个“Del”链接。用户可以点击这个链接来删除某个联系人信息。 4. 4. 如果有管理权限,用户可以看到在联系人后面有一个“Admin Permission”链接。用户可以点击这个链接来管理访问这个联系人的权限。例如, Administer Permissions sample.contact.Contact@26807f: Id: 1; Name: John Smith; Email: john@somewhere.com -R--- [2] dianne Del -RW-D [22] peter Del A---- [1] marissa Del Add Permission Manage 说明:每一行记录包含有3列。 第一列表示权限,例如,“-RW-D”表示可读、可写、可删除。 第二列也表示权限,但它是以类似unix权限的数字表达。例如,“[22]”, 表示可读、可写、可删除。 第三列是用户名称。 每一行记录后面都有一个“Del”链接。点击这个链接,可以删除掉指定用户对这个联系人信息的权限。 5. 5. 用户可以为某个联系人信息添加权限。例如, Add Permission Contact: sample.contact.Contact@1787005: Id: 1; Name: John Smith; Email: john@somewhere.com Recipient: -- please select --diannemarissapeterscottROLE_SUPERVISORROLE_USER Permission: NoneAdministerReadDeleteRead+Write+Delete 说明:权限是动态添加的。例如,上图中给用户scott增加了读联系人John的权限。那么scott马上就可以看到联系人John的信息了。


阅读全文(5030) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144777432 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号