You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 01:45:19