Bar*_*red 0 administration authorization ruby-on-rails helpers mercury-editor
我在我的应用程序中设置了汞.它工作正常,但由于我还是铁杆新手,我无法设置身份验证.这是我在运行后尝试的: rails生成汞:安装:身份验证
看来我可以在lib目录中使用该模块
module Mercury
module Authentication
def can_edit?
true if :authenticate_admin! //(from device)
end
end
end
Run Code Online (Sandbox Code Playgroud)我尝试在视图中使用此方法,但它不起作用.Lib目录应该自动加载,因为该行未在配置文件中注释.
顺便说一句,只是在更新方法上添加了before_filter,我阻止普通用户确认编辑页面.但是如果他们手动修改了Url,他们仍然可以看到编辑器本身.
有什么建议吗?
小智 5
迟到的答案我知道,但如果它有助于其他人.
LIB /汞/ authentication.rb
module Mercury
module Authentication
def can_edit?
if user_signed_in? && current_user.admin?
true
else
redirect_to root_path
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
applicationcontroller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
include Mercury::Authentication
....
Run Code Online (Sandbox Code Playgroud)
重新启动服务器,然后只有管理员才能查看和更新页面
| 归档时间: |
|
| 查看次数: |
414 次 |
| 最近记录: |