Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.google.common.collect.ImmutableMap;
- import dk.ggw.personnel.service.utilities.SecurityUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.axonframework.commandhandling.CommandMessage;
- import org.axonframework.messaging.MessageDispatchInterceptor;
- import org.springframework.util.Assert;
- import org.springframework.web.context.request.RequestAttributes;
- import org.springframework.web.context.request.RequestContextHolder;
- import org.springframework.web.context.request.ServletRequestAttributes;
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
- import java.util.Optional;
- import java.util.function.BiFunction;
- @Slf4j
- public class AuthenticationCommandHandlerInterceptor implements MessageDispatchInterceptor<CommandMessage<?>> {
- @Override
- public BiFunction<Integer, CommandMessage<?>, CommandMessage<?>> handle(List<? extends CommandMessage<?>> list) {
- return (index, command) -> {
- if (RequestContextHolder.getRequestAttributes() != null) {
- return command.andMetaData(
- ImmutableMap.<String, Object>builder()
- .put("userId", SecurityUtil.userIdentifier())
- .put("roles", SecurityUtil.roles())
- .put("internal", Boolean.FALSE)
- .build());
- } else {
- return command.andMetaData(
- ImmutableMap.<String, Object>builder()
- .put("internal", Boolean.TRUE)
- .build());
- }
- };
- }
- }
Add Comment
Please, Sign In to add comment