CanCan + Devise for the devise user model
使用devise,我有一个User模型。我没有用户控制器。
要使用Can,我需要在控制器顶部做以下操作吗?
1 2 3 | # Authorization w Devise & CanCan before_filter :authenticate_user! # Devise, signed in users only load_and_authorize_resource # CanCan |
在何处添加此代码,以便在没有用户控制器的情况下可以拥有User模型的权限?
谢谢
您可以将该代码添加到需要身份验证的任何控制器中,不需要
1 | before_filter :authenticate_user! |
此行要求使用devise登录的有效用户,因此,如果您尝试使用before_filter来访问控制器而未登录,则将被devise重定向到
1 | load_and_authorize_resource # CanCan |
另一行将实例变量填充为默认值(如果尚未设置),然后使用
1 2 3 | # for the show action @article = Article.find(params[:id]) raise CanCan::AccessDenied unless can(:read, @article) |
如果整个应用程序都需要身份验证,则只需将