Проблема безопасности Grails Spring с перенаправлением URL-адреса из настольного приложения - PullRequest
1 голос
/ 07 декабря 2011

У меня проблема с плагином ядра безопасности Spring

У меня есть таблица Excel, и в одной ячейке есть ссылка на ресурс моего веб-приложения (например, http://localhost:8080/myapp/item/1)

Если я нажму на ссылку, откроется браузер (там, где я уже вошел) и вместо перехода по URL, который я нажал, он отправит меня домой (целевой URL по умолчанию) ...

Я изменил bean authenticationProcessingFilter, и я регистрирую, что происходит в doFilter, и вот что я получаю

http://localhost:8080/myapp/item/1
E5E79669EBC938953AC6DCA4F1D38D56 <- this is the session id
false <- just printing if I'm logged in
http://localhost:8080/myapp/login/auth
1446A2704FC61E6304F0AC95F8BDAF22 <- this is the session id, and now is different
true <- just printing if I'm logged in
http://localhost:8080/myapp/home
1446A2704FC61E6304F0AC95F8BDAF22 <- this is the session id
true <- just printing if I'm logged in

Я не знаю, почему это меняет идентификатор сеанса, этовсе происходит в переопределить doFilter UsernamePasswordAuthenticationFilter

public class MyAuthFilter extends RequestHolderAuthenticationFilter {

   @Override
    public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException {
        HttpServletRequest r2 = (HttpServletRequest)request;
        println r2.getSession().getId();
        super.doFilter(request, response, chain);
    }
}

Как мне перенаправить на URL, который я нажал?

1 Ответ

0 голосов
/ 07 декабря 2011

причина изменения идентификатора сеанса была в том, что Session Fixation, благодаря smakela на форуме grails

Причиной изменения идентификатора сеанса является предотвращение "фиксации сеанса".

http://en.wikipedia.org/wiki/Session_fixation

http://grails -plugins.github.com / Grails-весна-безопасности ядро ​​/ документы / руководство / руководство / 19% 20Session% 20Fixation% 20Prevention.html

Хорошо, я могу это исправить ....

вместо перехода к myapp / item / 1

Я захожу на незащищенный URL, например, myapp / item / load / 1

и у меня есть страница, которая говорит что-то вроде «Загрузка элемента», а затем с помощью javascript перенаправляет на myapp / item / 1

и это сработало!

спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...