Guest User

Untitled

a guest
Aug 4th, 2020
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.62 KB | None | 0 0
  1. import com.google.common.collect.ImmutableMap;
  2. import dk.ggw.personnel.service.utilities.SecurityUtil;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.axonframework.commandhandling.CommandMessage;
  5. import org.axonframework.messaging.MessageDispatchInterceptor;
  6. import org.springframework.util.Assert;
  7. import org.springframework.web.context.request.RequestAttributes;
  8. import org.springframework.web.context.request.RequestContextHolder;
  9. import org.springframework.web.context.request.ServletRequestAttributes;
  10.  
  11. import javax.servlet.http.HttpServletRequest;
  12. import java.util.List;
  13. import java.util.Optional;
  14. import java.util.function.BiFunction;
  15.  
  16. @Slf4j
  17. public class AuthenticationCommandHandlerInterceptor implements MessageDispatchInterceptor<CommandMessage<?>> {
  18.     @Override
  19.     public BiFunction<Integer, CommandMessage<?>, CommandMessage<?>> handle(List<? extends CommandMessage<?>> list) {
  20.         return (index, command) -> {
  21.             if (RequestContextHolder.getRequestAttributes() != null) {
  22.                 return command.andMetaData(
  23.                         ImmutableMap.<String, Object>builder()
  24.                                 .put("userId", SecurityUtil.userIdentifier())
  25.                                 .put("roles", SecurityUtil.roles())
  26.                                 .put("internal", Boolean.FALSE)
  27.                                 .build());
  28.             } else {
  29.                 return command.andMetaData(
  30.                         ImmutableMap.<String, Object>builder()
  31.                                 .put("internal", Boolean.TRUE)
  32.                                 .build());
  33.             }
  34.         };
  35.     }
  36. }
Add Comment
Please, Sign In to add comment