diff --git a/src/main/java/de/thm/arsnova/entities/User.java b/src/main/java/de/thm/arsnova/entities/User.java index 2f9c290bf2af3a41d6eac5b16d329d413e0ee4ff..5aef51dc602ddd6af1fc2383589fa1f2a0355d68 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 99521ec7530b50d628bd9b9555633967da72b3f4..0f3ef8115c1bfad01de3845379935f101b15aa58 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")) {