Назначение свойств ролей для пользователя CAS или реестра служб CAS
Мне удалось настроить шаблон CAS Overlay 6.2.x может аутентифицировать пользователя, зарегистрированного в MongoDB. Вот мой конфиг:
CAS Свойства
"name":"cas.authn.mongo.name","value":"users" "name":"cas.authn.mongo.database-name","value":"users" "name":"cas.authn.mongo.collection","value":"users" "name":"cas.authn.mongo.username-attribute","value":"username" "name":"cas.authn.mongo.password-attribute","value":"password" "name":"cas.authn.mongo.user-id","value":"casuser" "name":"cas.authn.mongo.password","value":"Mellon" "name":"cas.authn.mongo.attributes","value":"lastname,useremail,usertel" "name":"cas.authn.mongo.clientUri","value":"mongodb://casuser:Mellon@IP:port/users?authSource=admin&readPreference=primary&appname=MongoDB%20Compass%20Community&ssl=false"
И это свойства пользователя в коллекции User
"username":"root", "password":"root", "lastname":"root", "useremail":"xxx", "usertel":"xxx"
Но я столкнулся с проблемой, связанной с сервисом CAS Management Web App.
Вот журнал веб-приложения CAS Management:
WARN [org.apereo.cas.mgmt.authz.CasRoleBasedAuthorizer] - <Unable to authorize access, since the authenticated profile [#CasProfile# | id: root | attributes: {credentialType=UsernamePasswordCredential, isFromNewLogin=false, authenticationDate=2020-08-26T08:51:16.865441Z[UTC], authenticationMethod=users, successfulAuthenticationHandlers=users, longTermAuthenticationRequestTokenUsed=false} | roles: [] | permissions: [] | isRemembered: false | clientName: CasClient | linkedId: null |] does not contain any required roles>
Вот мой реестр служб для веб-приложения CAS Manaement:
{
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId":"^https://cas-server-domain:8088/cas-management.+",
"name" : "casManagement",
"id" : 1,
"evaluationOrder" : 1,
"allowedAttributes":["cn","mail"]
}
Сервер CAS успешно создал и авторизовал токен доступа для пользователя (id = root), но в CAS Management отсутствует роль пользователя.
Я не знаю, как назначить РОЛЬ для пользователя или указать роль пользователя, зафиксированную в реестре служб.
Пожалуйста, помогите мне.
Заранее спасибо.