1 package org
.argeo
.security
;
3 import org
.springframework
.security
.Authentication
;
4 import org
.springframework
.security
.GrantedAuthority
;
5 import org
.springframework
.security
.context
.SecurityContext
;
6 import org
.springframework
.security
.context
.SecurityContextHolder
;
7 import org
.springframework
.security
.providers
.anonymous
.AnonymousAuthenticationToken
;
9 /** Static utilities */
10 public class SecurityUtils
{
12 private SecurityUtils() {
15 /** Whether the current thread has the admin role */
16 public static boolean hasCurrentThreadAuthority(String authority
) {
17 SecurityContext securityContext
= SecurityContextHolder
.getContext();
18 if (securityContext
!= null) {
19 Authentication authentication
= securityContext
.getAuthentication();
20 if (authentication
!= null) {
21 for (GrantedAuthority ga
: authentication
.getAuthorities())
22 if (ga
.getAuthority().equals(authority
))
30 * @return the authenticated username or null if not authenticated /
33 public static String
getCurrentThreadUsername() {
34 SecurityContext securityContext
= SecurityContextHolder
.getContext();
35 if (securityContext
!= null) {
36 Authentication authentication
= securityContext
.getAuthentication();
37 if (authentication
!= null) {
38 if (authentication
instanceof AnonymousAuthenticationToken
) {
41 return authentication
.getName();