add 登录用户信息

This commit is contained in:
TsMask
2023-09-05 17:13:46 +08:00
parent 7882c44eb6
commit 0f12279099
2 changed files with 26 additions and 0 deletions

View File

@@ -26,6 +26,10 @@ var (
CustomUriOauthToken = config.UriPrefix + "/securityManagement/{apiVersion}/{elementTypeValue}/token"
CustomUriOauthHandshake = config.UriPrefix + "/securityManagement/{apiVersion}/{elementTypeValue}/handshake"
// 登录用户信息
UriUserInfo = config.DefaultUriPrefix + "/securityManagement/{apiVersion}/getUserInfo"
CustomUriUserInfo = config.UriPrefix + "/securityManagement/{apiVersion}/getUserInfo"
// 登录用户路由信息
UriRouters = config.DefaultUriPrefix + "/securityManagement/{apiVersion}/getRouters"
CustomUriRouters = config.UriPrefix + "/securityManagement/{apiVersion}/getRouters"
@@ -204,6 +208,24 @@ func HandshakeFromOMC(w http.ResponseWriter, r *http.Request) {
return
}
// 登录用户信息
func UserInfo(w http.ResponseWriter, r *http.Request) {
loginUser, err := ctx.LoginUser(r)
if err != nil {
ctx.JSON(w, 200, result.OkData(err.Error()))
}
// 角色权限集合,管理员拥有所有权限
userId := fmt.Sprint(loginUser.UserID)
isAdmin := conf.IsAdmin(userId)
roles, perms := service.NewServiceAccount.RoleAndMenuPerms(userId, isAdmin)
ctx.JSON(w, 200, result.OkData(map[string]any{
"user": loginUser.User,
"roles": roles,
"permissions": perms,
}))
}
// 登录用户路由信息
func Routers(w http.ResponseWriter, r *http.Request) {
userID := ctx.LoginUserToUserID(r)

View File

@@ -279,6 +279,10 @@ func init() {
Register("POST", lm.ExtBackupDataUri, lm.ExtDatabaseBackupData, nil)
Register("POST", lm.CustomExtBackupDataUri, lm.ExtDatabaseBackupData, nil)
// 登录用户信息
Register("GET", security.UriUserInfo, security.UserInfo, midware.Authorize(nil))
Register("GET", security.CustomUriUserInfo, security.UserInfo, midware.Authorize(nil))
// 登录用户路由信息
Register("GET", security.UriRouters, security.Routers, midware.Authorize(nil))
Register("GET", security.CustomUriRouters, security.Routers, midware.Authorize(nil))