gpt4 book ai didi

来自桌面应用程序的 url 重定向的 Grails spring 安全问题

转载 作者:行者123 更新时间:2023-12-02 14:55:16 25 4
gpt4 key购买 nike

我对 spring security core plugin 有疑问

我有一个 excel 电子表格,一个单元格有一个指向我的 webapp 资源的链接(例如 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

我不知道为什么它会更改 session ID,这一切都发生在 UsernamePasswordAuthenticationFilter 的覆盖 doFilter 中
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);
}
}

如何重定向到我点击的网址?

最佳答案

session id 更改的原因是 session 固定,感谢 smakelagrails forum

Reason for changing the session id is to prevent "Session Fixation".

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

http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/19%20Session%20Fixation%20Prevention.html



好的,我可以修复它....

而不是去 myapp/item/1

我转到一个不安全的网址,例如 myapp/item/load/1

我有一个页面,上面写着“正在加载项目”,然后通过 javascript,重定向到 myapp/item/1

它奏效了!

谢谢

关于来自桌面应用程序的 url 重定向的 Grails spring 安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8415436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com