Я не уверен, почему он не работает без квадратных скобок, но работает, как показано ниже
@Secured (['ROLE_USER'])
or as
@Secured (значение = ["hasRole ('ROLE_USER')"])
Из @Secured(['ROLE_USER'])
очевидно, что он берет список ролей, а не одну строку ролей. Чтобы указать роль в виде строки, вы должны использовать атрибут value из аннотации Secured, а затем вызвать hasRole ('your_role').
Надеюсь, это поможет!
Изменить
Дополнительно проверьте настройки безопасности Spring. Ниже находятся шахты:
grails.plugin.springsecurity.logout.postOnly = false
grails.plugin.springsecurity.userLookup.userDomainClassName = 'com..User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.UserRole'
grails.plugin.springsecurity.authority.className = 'com.Role'
grails.plugin.springsecurity.authority.groupAuthorityNameField = 'authorities'
grails.plugin.springsecurity.useRoleGroups = false
grails.plugin.springsecurity.securityConfigType = "Annotation"
grails.plugin.springsecurity.rejectIfNoRule = false
grails.plugin.springsecurity.fii.rejectPublicInvocations = false
grails.plugin.springsecurity.successHandler.defaultTargetUrl="/home/index"
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
'/': ['permitAll'],
'/error': ['permitAll'],
'/index': ['permitAll'],
'/index.gsp': ['permitAll'],
'/shutdown': ['permitAll'],
'/assets/**': ['permitAll'],
'/**/js/**': ['permitAll'],
'/**/css/**': ['permitAll'],
'/fonts/**': ['permitAll'],
'/**/images/**': ['permitAll'],
'/**/favicon.ico': ['permitAll'],
'/login/**': ['permitAll'],
'/logout/**': ['permitAll'],
'/dbconsole/**': ['ROLE_ADMIN'],
]
Надеюсь, это поможет!
person
Vinay Prajapati
schedule
17.12.2015