仅需一次认证,即可访问所有授权访问的应用系统,可以为企业人员提供便捷、高效的访问体验。
项目采用前后端分离架构设计,项目地址如下:
| 项目 | 项目地址 |
|---|---|
| 前端 | https://github.com/yuyan075500/ops-web |
| 后端 | https://github.com/yuyan075500/ops-api |
- config:全局配置。
- controller:路由规则配置和接口的入参与响应。
- service:接口的处理逻辑。
- dao:数据库操作。
- model:数据库模型定义。
- db:数据库、缓存等客户端初始化。
- middleware:中间件层,作用于全局,如跨域、JWT认证、权限校验等。
- utils:工具层,如Token解析,文件操作等。
- 0:请求成功。
- 90400:请求参数错误。
- 90401:认证失败。
- 90403:拒绝访问。
- 90404:访问的对象或资源不存在。
- 90500:其它错误。
- 90514:Token过期或无效。
-
SSO单点登录:支持
CAS 3.0、OAuth 2.0和SAML2协议,可以参考 客户端配置指南 和 已测试客户端列表。 -
用户认证:同时支持 钉钉扫码登录、企业微信扫码登录、飞书扫码登录、OpenLDAP认证、Windows AD认证和本地账号认证。
-
双因素:支持使用Google Authenticator、阿里云APP和华为云APP扫描获取动态验证码。
✅支持,🟡敬请期待,❌不支持
| 用户来源 | 用户登录 | 账号同步 | 用户密码修改 | 用户信息修改(电话、邮箱) | 双因素认证 | 单点登录 | NGINX鉴权 |
|---|---|---|---|---|---|---|---|
| 本地 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Windows AD | ✅ | ✅ | ✅ | 🟡 | ✅ | ✅ | ✅ |
| OpenLDAP | ✅ | ✅ | ✅ | 🟡 | ✅ | ✅ | ✅ |
| 钉钉 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | 🟡 |
| 企业微信 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | 🟡 |
| 飞书 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | 🟡 |
无论使用哪一种用户认证方式,都需要确保本地系统中用户存在,所以当配置好Windows AD或OpenLDAP后,需要登录平台点击【用户管理】-【分组管理】-【LDAP账号同步】执行一次用户同步,用户的同步规则如下:
- 如果本地系统中没有,LDAP中有,则创建。
- 如果本地系统有,LDAP中有,则更新(仅更新用户来源为LDAP且
username相同,更新手机号和邮箱字段)。
同步用户时,用户字段映射规则如下:
# OpenLDAP
{
"name": "uid",
"username": "cn",
"email": "mail",
"phone_number": "telephoneNumber"
}
# Windows AD
{
"name": "sAMAccountName",
"username": "cn",
"email": "mail",
"phone_number": "telephoneNumber",
"is_active": "userAccountControl"
}- 支持Swagger接口文档:访问地址:
/swagger/index.html。 - 支持用户密码自助更改:访问地址:
/reset_password。
参考 Docker Compose部署 和 Kubernetes部署。
WeChat:270142877。
Email:270142877@qq.com。
联系时请注名来意。
