Ruby on rails RubyonRails设计添加管理员

Ruby on rails RubyonRails设计添加管理员,ruby-on-rails,sqlite,devise,ruby-on-rails-4,admin,Ruby On Rails,Sqlite,Devise,Ruby On Rails 4,Admin,我试图创建一个网站,有1个管理员和许多用户。管理员可以控制所有用户 我正在使用: -Rails 4.0 -设计3.2 -Sqlite3 我已经生成了一个用户模型,并按照说明使用选项2向用户模型添加属性 在数据库中,它将admin的布尔值设置为false。允许从数据库进行管理员控制是否安全 我很好奇,因为数据库中没有存储密码,而是存储了一个加密字符串 有没有其他方法来创建管理员?我试图遵循选项1,但这给了我很多麻烦。我发现问题已经以不同的方式提出了 选项1更安全,使用选项2,任何人都可以添加一个

我试图创建一个网站,有1个管理员和许多用户。管理员可以控制所有用户

我正在使用:
-Rails 4.0
-设计3.2
-Sqlite3

我已经生成了一个用户模型,并按照说明使用选项2向用户模型添加属性

在数据库中,它将admin的布尔值设置为false。允许从数据库进行管理员控制是否安全

我很好奇,因为数据库中没有存储密码,而是存储了一个加密字符串


有没有其他方法来创建管理员?我试图遵循选项1,但这给了我很多麻烦。

我发现问题已经以不同的方式提出了


选项1更安全,使用选项2,任何人都可以添加一个参数admin=true。

您表示“我很好奇,因为数据库中没有存储密码,而是存储了加密字符串。”为什么您认为加密字符串不如明文密码安全?在任何地方存储明文密码都是非常糟糕的做法。是的,我理解你为什么不应该存储明文密码。对不起,如果我不清楚-我相信加密字符串更安全。既然我们不存储文本密码,为什么我们要将访问整个站点的选项存储在数据库中?选项1还将访问整个站点的权限存储在数据库中,只是存储在不同的表中。如果您不在数据库中存储管理员凭据,您会将其存储在哪里,以使其更安全?实际上,我不推荐sqlite3。因为您使用的是Heroku,所以我建议改为PostgresSQL。我不确定。这可能是一种方法吗?我的想法是,该方法将描述第一个注册的用户==admin。数据库中永远不会有admin属性。使用Postgres的主要区别是什么?