我使用has_secure_password
授权。我想只创建一个用户帐户(admin),这就是全部。访问者无法创建新帐户。
如果他有正确的登录名和密码,他可以作为管理员进行登录。
但是我应该在哪里为admin定义此登录名和密码? 我有用户模型,但我还没有想到如何做到这一点。
答案 0 :(得分:2)
如果您只需要一位拥有登录名/密码的管理员用户,那么您可以使用HTTP Digest Authentication,这是由开箱即用的rails支持,并且不需要任何额外的宝石或插件
在users_controller.rb
:
USERS = { "admin" => "password" }
before_action :authenticate, except: [:index, :show]
# actions here (index, show, new, create, edit, update, destroy)
private
def authenticate
authenticate_or_request_with_http_digest do |username|
USERS[username]
end
end
end
然后,只有具有正确登录名/密码的管理员才能登录才能看到网站内容。