0

我知道有很多优秀的授权宝石,如 cancan、声明式授权、cantango 等。我想知道是否可以将模型类用作角色本身?

比如让有两个资源的导师和学生,那么是否有可能让导师和学生也成为角色?我问这个是因为我对不同的资源有不同的身份验证页面,因为我的资源彼此完全不同,而且我不会使用单个用户类进行身份验证。

如果我做错了,也请指导我,因为我是 Rails 新手 :-)。

4

1 回答 1

3

简短的回答是“是”。对于 cancan,最终您要定义什么是授权访问,您可以按照自己的意愿进行操作。大多数自动部件确实假设用户模型,但没有硬性要求使用提供的帮助器。您可以像往常一样在ability.rb 文件中定义授权逻辑,但authorize!在控制器中手动调用。

也就是说,为什么不让生活更简单并使用单一用户模型,而是让用户的角色依赖于上下文呢?然后,您将从已建立的身份验证工作流程中受益,并且可能还拥有更清晰的域模型。

于 2013-02-20T14:06:40.923 回答