in my old grails 2.4.4 / spring-security-core:2.0-RC4 I secured controller action closures in my config.groovy as following and it was working :
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
'/dbconsole/**': [org.somthing.somthing.core.model.types.PermissionName.WEB_LOGIN],
'/account/createaccount': [org.somthing.somthing.core.model.types.PermissionName.ACCOUNT_CREATE],
]
in grails 3.0.17 / spring-security-core:3.1.2 in application.groovy I changed to:
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
[pattern: '/dbconsole/**', access: [org.somthing.somthing.core.model.types.PermissionName.WEB_LOGIN]],
[pattern: '/account/createaccount', access: [org.somthing.somthing.core.model.types.PermissionName.ACCOUNT_CREATE]],
]
and I am having this error now
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Property or field 'org' cannot be found on object of type 'org.springframework.security.web.access.expression.WebSecurityExpressionRoot' - maybe not public?
at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:224) ~[spring-expression-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:94) ~[spring-expression-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:81) ~[spring-expression-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.expression.spel.ast.CompoundExpression.getValueRef(CompoundExpression.java:51) ~[spring-expression-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:87) ~[spring-expression-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:131) ~[spring-expression-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:299) ~[spring-expression-4.1.8.RELEASE.jar:4.1.8.RELEASE]
at org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:11)
any idea ?