В Bootstrap.groovy
я создал новую карту запросов с ROLE_ADMIN
в качестве configAttribute и / ** в качестве URL.Когда я вошел как ROLE_ADMIN
, я смог получить доступ ко всем URL-адресам.
Когда я добавляю новую карту реквизитов в пользовательском интерфейсе с ROLE_TEST в качестве configAttribute и / customer / ** в качестве URL, пользователь с ROLE_ADMIN не может получить доступстраница клиента.Несмотря на то, что ROLE_ADMIN имеет привилегию / **.
Теперь только пользователи с ROLE_TEST
могут получить доступ к странице клиента, но не другие пользователи.Для этой функции желательно, чтобы тестовый пользователь мог иметь доступ только к странице клиента, а не к любой другой странице.Тем не менее, в настоящее время страница клиента может быть доступна только для тестового пользователя.
Config.groovy
settings-
grails.plugin.springsecurity.userLookup.userDomainClassName = 'com.bi.report.auth.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.bi.report.auth.UserRole'
grails.plugin.springsecurity.authority.className = 'com.bi.report.auth.Role'
grails.plugin.springsecurity.requestMap.className = 'com.bi.report.auth.Requestmap'
grails.plugin.springsecurity.securityConfigType = 'Requestmap'
Bootstrap.groovy код
def loadRequestMap(){
if (Requestmap.count()<=0) {
new Requestmap(url: '/**', configAttribute: 'ROLE_ADMIN').save()
/*new Requestmap(url: '/**', configAttribute: 'IS_AUTHENTICATED_ANONYMOUSLY').save()*/
new Requestmap(url: '/*/', configAttribute: 'ROLE_ADMIN').save();
new Requestmap(url: '/logout/**', configAttribute: 'IS_AUTHENTICATED_REMEMBERED,IS_AUTHENTICATED_FULLY').save();
new Requestmap(url: '/login/**', configAttribute: 'IS_AUTHENTICATED_ANONYMOUSLY').save()
new Requestmap(url: '/index/**', configAttribute: 'IS_AUTHENTICATED_ANONYMOUSLY').save();
}
}
Любые предложения приветствуются.Спасибо.
Версия Grails 2.3.4
Плагин безопасности Spring: compile ":spring-security-core:2.0-RC2"