Has_secure_password且只有一个已定义的帐户

时间:2015-09-05 11:43:30

标签: ruby-on-rails ruby-on-rails-4

我使用has_secure_password授权。我想只创建一个用户帐户(admin),这就是全部。访问者无法创建新帐户。 如果他有正确的登录名和密码,他可以作为管理员进行登录。

但是我应该在哪里为admin定义此登录名和密码? 我有用户模型,但我还没有想到如何做到这一点。

1 个答案:

答案 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

然后,只有具有正确登录名/密码的管理员才能登录才能看到网站内容。