В настоящее время это не задокументировано, но в установочном файле плагина есть 3 метода, которые он добавляет к каждому контроллеру, чтобы вам на самом деле не приходилось вставлять аутентификационный сервис:
private void addControllerMethods(MetaClass mc) {
mc.getAuthUserDomain = {
def principal = SCH.context?.authentication?.principal
if (principal != null && principal != 'anonymousUser') {
return principal?.domainClass
}
return null
}
mc.getPrincipalInfo = {
return SCH.context?.authentication?.principal
}
mc.isUserLogon = {
def principal = SCH.context?.authentication?.principal
return principal != null && principal != 'anonymousUser'
}
}
Это означает, что вы можете просто позвонить
principalInfo
Чтобы получить основной объект. Он также имеет «isUserLogin», чтобы видеть, зарегистрирован ли пользователь, и «authUserDomain», чтобы получить фактический экземпляр класса домена (Person / User), связанный с принципалом вошедшего в систему пользователя.