我按照Tony的教程在我的Rails 3应用程序中进行了身份验证。
我不想在我的应用程序中进行公共注册,只想使用管理员帐户创建新用户,但我无法手动创建管理员帐户,因为在Users表中有必须生成的加密密码和盐,我不知道如何操作 :|
我按照Tony的教程在我的Rails 3应用程序中进行了身份验证。
我不想在我的应用程序中进行公共注册,只想使用管理员帐户创建新用户,但我无法手动创建管理员帐户,因为在Users表中有必须生成的加密密码和盐,我不知道如何操作 :|
你可以在 Rails 控制台上完成此操作。从命令行进入 Rails 应用程序的目录,然后输入 rails console
。接着输入以下代码以创建用户:
user=User.create!(:email=>'test@test.com',:username=>'test',:password=>'password')
这将创建一个用户对象(假设您的设备资源名为User)。现在,您可以使用刚刚创建的用户对象来设置管理权限。我目前在seeds.rb文件中使用类似以下内容(您的细节可能不同)来创建Devise的管理员用户。
User.new({ :email => 'admin@example.com', :password => 'password', :password_confirmation => 'password'}).save
您可以在终端窗口中使用rake db:seed
执行此操作。
此外,如果您正在使用confirmable并希望在创建新帐户时跳过确认电子邮件的要求,则可以执行以下操作:
newuser = User.new({ :email => 'admin@example.com',
:password => 'password',
:password_confirmation => 'password'})
newuser.skip_confirmation!
newuser.save
如果您创建的帐户是信任用户或测试帐户,则此方法非常有用。