在Ubuntu 20.04的CAS Server中创建普通及管理员用户求助
基于数据库认证的CAS Server创建普通/管理员用户步骤
1. 数据库添加用户数据
由于你是基于数据库认证部署的CAS,首先需要在关联的用户表中插入新用户记录:
- 生成BCrypt加密密码:在Ubuntu终端执行以下命令生成加密后的密码(替换
yourpassword为实际密码):htpasswd -nbBC 10 "" yourpassword | tr -d ':\n' - 插入普通用户:登录CAS关联的数据库,执行SQL(假设用户表名为
users,字段包含username、password、roles):
注意将INSERT INTO users (username, password, roles) VALUES ('testuser', '{bcrypt}$2a$10$...', 'ROLE_USER');{bcrypt}$2a$10$...替换为上述命令生成的加密字符串。 - 插入管理员用户:执行SQL时给角色字段添加
ROLE_ADMIN标识:INSERT INTO users (username, password, roles) VALUES ('adminuser', '{bcrypt}$2a$10$...', 'ROLE_USER,ROLE_ADMIN');
2. 配置CAS识别管理员角色
找到CAS核心配置文件(CAS 6.x+版本为application.properties,旧版本可能是cas.properties),添加或修改以下配置:
- 指定管理员专属角色:
cas.authorization.adminRoles=ROLE_ADMIN - 确保JDBC认证配置正确读取角色字段(若之前未配置):
cas.authentication.jdbc.query[0].sql=SELECT password, roles FROM users WHERE username = ? cas.authentication.jdbc.query[0].fieldPassword=password cas.authentication.jdbc.query[0].fieldRoles=roles cas.authentication.jdbc.query[0].passwordEncoder.type=BCRYPT
3. 重启CAS并验证
- 重启CAS服务:
systemctl restart cas - 测试用户权限:
- 使用
testuser登录:仅能访问普通CAS服务,无法进入管理后台 - 使用
adminuser登录:可正常访问CAS管理面板(默认路径/cas/admin)
- 使用
旧文档操作未生效的原因说明
你参考的文档中admusers.properties配置方式仅适用于CAS 5.x及更早版本,当前主流的CAS 6.x+已改用基于角色的授权机制,因此旧方法不再生效,采用上述数据库角色关联的方式即可解决问题。
内容的提问来源于stack exchange,提问作者ganesh tirumani
相关产品推荐
相关产品推荐

