精通Grails: 身份验证和授权 - 编程入门网
{
def entryInstance = Entry.get( params.id )
//limit editing to the original author
if( !(session.user.login == entryInstance.author.login) ){
flash.message = "Sorry, you can only edit your own entries."
redirect(action:list)
}
if(!entryInstance) {
flash.message = "Entry not found with id ${params.id}"
redirect(action:list)
}
else {
return [ entryInstance : entryInstance ]
}
}
您可以(也应该)使用相同的四行代码锁定 delete 和 update 闭包。如果来回复制和粘帖相似代码 的工作非常繁琐(并且应当会如此),那么可以创建一个单一的私有方法并在所有三个闭包中调用它。如 果发现在许多控制器内使用的是相同的 beforeInterceptor 和私有方法,那么可以将常见的行为解析为 单个主控制器,并使用其他控制器扩展它,就像在任何 Java 类中所做的那样。 可以向授权基础设施添加另外一项内容以使它变得更加健壮:角色 精通Grails: 身份验证和授权(6)时间:2011-08-02 IBM Scott Davis添加角色 为 User 分配角色是一种方便的分组方法。随后可以向组分配权限,而不是向个人分配权限。例如, 现在任何人都可以创建一个新的 User。仅仅检查某个用户是否登录还远远不够。我希望限制管理员管理 User 帐户的权限。 清单 9 向 User 添加了一个角色字段以及一条限制,限制 author 或 admin 的值: 清单 9. 向 User 添加一个角色字段
注意,role 默认值为 author。inList 限制给出了一个复选框,只显示了两个有效选项。图 4 展示 了它的实际使用: 图 4. 将新用户角色限制为 author 或 admin 精通Grails: 身份验证和授权(7)时间:2011-08-02 IBM Scott Davis在 grails-app/conf/BootStrap.groovy 中创建一个 admin User,如清单 10 所示。不要忘记将 author role 添加到两个现有的 User 中。 清单 10. 添加一个 admin User
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |