###前提・実現したいこと
SpringBootにて、SpringSecurityの権限管理を行う画面を作成しています。
権限の情報はSet<enum型>で保持しており、
どのユーザがどの権限を持っているかの判定がthymeleaf側でうまくできません。
###該当のソースコード
java
1// 権限 2public enum Authority { 3 ROLE_AAAA, ROLE_BBBB, ROLE_ADMIN 4} 5 6private Set<Authority> authorities; 7 8@Override 9public Collection<? extends GrantedAuthority> getAuthorities() { 10 List<GrantedAuthority> authorities = new ArrayList<>(); 11 for (Authority authority : this.authorities) { 12 authorities.add(new SimpleGrantedAuthority(authority.toString())); 13 } 14 return authorities; 15} 16
thymeleaf側の記述 <p th:text="${#sets.contains(authorities, T(Authority).ROLE_ADMIN)} ? '有効' : '無効'"></p>
thymeleaf側を上記判定とした場合、「無効」となってしまいます。
回答にはなっていませんが、重大な理由がない限りは(独自で実装するより)thymeleafのspring-security拡張機能を使うほうが好ましいと思います https://www.thymeleaf.org/doc/articles/springsecurity.html
あなたの回答
tips
プレビュー