Acegi Security: Как добавить еще один GrantedAuthority для аутентификации анонимному пользователю

Я даю пользователям специальный URL с ключом доступа. пользователи, получающие доступ к общедоступной странице через этот специальный URL-адрес, должны видеть некоторые дополнительные данные по сравнению с простым анонимным пользователем.

я хочу дать некоторую дополнительную роль анонимному пользователю на основе параметров, указанных в запросе, чтобы я мог сделать что-то подобное в моем шаблоне:

<@sec.authorize ifAnyGranted="ROLE_ADMIN, ROLE_USER, ROLE_INVITED_VISITOR">
...some additional stuff for invited user to see
</@sec.authorize>

В настоящее время я реализую SpringOncePerRequestfilter:

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException {
    if (null != request.getParameter("accessKey")) {
        if(isValid(request.getParameter("accessKey"))) {
            Authentication auth = SecurityContextHolder.getContext().getAuthentication();
            //how do i add additional roles to authenticated (potentially anonymous) user?
        }
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос