Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.2
-
None
Description
When securing a view using multiple @Secured annotations applied through multiple stereotypes, only one of them is applied. In the following example, only the LoggedIn.Voter is invoked, RolesAllowed.Voter is skipped.
Pages.java
@Folder(name = "/") public interface Pages extends ViewConfig { @LoggedIn interface Stereo extends Pages { @RolesAllowed("admin") // not invoked at all class Secure implements Stereo { } } }
This is LoggedIn, and RolesAllowed is analogous...
LoggedIn.java
... @Stereotype @Secured(LoggedIn.Voter.class) public @interface LoggedIn { public static class Voter implements AccessDecisionVoter { ...