From 84689aa6e4db71f259b4cda85a8053cf9753f7fb Mon Sep 17 00:00:00 2001 From: Daniel Gerhardt <daniel.gerhardt@mni.thm.de> Date: Fri, 4 Apr 2014 16:11:59 +0200 Subject: [PATCH] Correctly state guest authentication The API returned "ldap" instead of "guest" for guest authentication before. --- src/main/java/de/thm/arsnova/entities/User.java | 1 + src/main/java/de/thm/arsnova/services/UserService.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/main/java/de/thm/arsnova/entities/User.java b/src/main/java/de/thm/arsnova/entities/User.java index 2f9c290bf..5aef51dc6 100644 --- a/src/main/java/de/thm/arsnova/entities/User.java +++ b/src/main/java/de/thm/arsnova/entities/User.java @@ -18,6 +18,7 @@ public class User implements Serializable { public static final String THM = "thm"; public static final String LDAP = "ldap"; public static final String ANONYMOUS = "anonymous"; + public static final String GUEST = "guest"; private static final long serialVersionUID = 1L; private String username; diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java index 99521ec75..0f3ef8115 100644 --- a/src/main/java/de/thm/arsnova/services/UserService.java +++ b/src/main/java/de/thm/arsnova/services/UserService.java @@ -21,6 +21,7 @@ import org.springframework.security.authentication.AnonymousAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.cas.authentication.CasAuthenticationToken; import org.springframework.security.core.Authentication; +import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; @@ -106,6 +107,9 @@ public class UserService implements IUserService { } else if (authentication instanceof UsernamePasswordAuthenticationToken) { UsernamePasswordAuthenticationToken token = (UsernamePasswordAuthenticationToken) authentication; user = new User(token); + if (authentication.getAuthorities().contains(new SimpleGrantedAuthority("ROLE_GUEST"))) { + user.setType(User.GUEST); + } } if (user == null || user.getUsername().equals("anonymous")) { -- GitLab