I am trying to use the @PreAuthorize annotation for access control. I need to check some custom fields in the details of the authentication object. I have a CustomWebAuthenticationDetails class that is a subclass of WebAuthenticationDetails and contains custom fields. I usually use the following to navigate to my custom fields in CustomWebAuthenticationDetails:
((CustomWebAuthenticationDetails)authentication.getDetails()).getCustomField()
However, when I try to use the above statement (even including the full path to CustomWebAuthenticationDetails) in the @PreAuthorize expression, I get the following error:
java.lang.IllegalArgumentException: Failed to parse expression ...
How do I do this with a type?
Thanks,
Daniel
source share