6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/generators/zen_admin/admin_user/admin_user_generator.rb', line 6
def create_admin_user
username = ask("请输入用户名 [admin]:")
username = "admin" if username.blank?
if ZenAdmin::User.exists?(username: username)
say "错误: 用户 '#{username}' 已存在。", :red
return
end
password = ask_password("请输入密码:")
if password.length < 8
say "提示: 密码长度小于 8 位,安全性较低。", :yellow
unless yes?("确定要使用这个弱密码吗?(y/n)")
password = ask_password("请重新输入更强的密码:")
end
end
begin
user = ZenAdmin::User.new(username: username, password: password)
admin_role = ZenAdmin::Role.find_or_create_by!(code: "superadmin") do |r|
r.name = "超级管理员"
end
user.roles << admin_role
say "已分配超级管理员权限。", :green
if user.save
say "成功: 管理员 '#{username}' 已创建!", :green
else
say "保存失败: #{user.errors.full_messages.join(', ')}", :red
end
rescue => e
say "发生异常: #{e.message}", :red
end
end
|