我有一个应用程序,它使用Spring Security进行身份验证。之前我们使用的是spring security 3.2.10,现在尝试升级到4.2.6。在spring 4之后的版本中,默认情况下会启用CSRF保护。
我遵循移民指南-https://docs.spring.io/spring-security/site/migrate/current/3-to-4/html5/migrate-3-to-4-xml.html
当我刚刚更改了名称空间,更换了安全JAR,并试图从登录页面登录时,它给出了404错误,错误为“/j_spring_security_check”。
根据指南,我将表单登录操作更改为“/登录”,而不是“/j_spring_security_check”。还将用户名和密码参数更改为“用户名”和“密码”,而不是登录页面中定义的“j_username”和“j_password”。
<form action="/login" method="POST">
在这些更改之后,我得到了与403状态代码相关的CSRF令牌错误-
Type Status Report
Message Could not verify the provided CSRF token because your session was
not found.
Description The server understood the request but refuses to authorize it.
通过在Spring Security配置文件中添加以下内容,我禁用了CSRF保护-
<security:http disable-url-rewriting="true" use-expressions="true">
<security:csrf disabled="true"/>
..
<security:intercept-url pattern="/login.jsp"
access="hasRole('ROLE_ANONYMOUS')"/>
<security:form-login login-page="/login.jsp"
authentication-failure-url="/login.jsp?
login_error=1"
default-target-url="/index.html" authentication-
success-handler-ref="successHandler" always-use-default-
target="true"/>
<security:logout logout-success-url="/login.jsp"/>
但这仍然不起作用,并给我403状态的CSRF相关错误-
Type Status Report
Message Could not verify the provided CSRF token because your session was
not found.
Description The server understood the request but refuses to authorize it.
我错过了什么吗?
我终于发现了问题。实际上,在我们的应用程序A中,我们有一个URI的列表,可以由这个应用程序B处理,否则它会将请求转发给另一个应用程序。
所以之前的“j_spring_security_check”就在这个列表中。但我没有在列表中添加“/login”。
在该应用程序B上,CSRF未被禁用,因此导致了问题。
将感谢任何关于我们应该如何处理这一点的提示!
我是Python新手,对GUI编程更是新手。 我有一个按钮和两个旋转箱,我想在点击开始按钮后禁用它们。我在谷歌上搜索了5种禁用Tkinter按钮的不同方法,但似乎都不起作用。理论上,旋转箱应该以同样的方式被禁用,但我只是运气不好。对整个图形用户界面感到非常沮丧。 和是两个spinbox 正如您所看到的,我尝试对按钮使用,但它不起作用。我见过各种各样的代码,在所有的大写字母、大写字母和不同的引号中都
我试图用Dsun运行一个Java应用程序。java2d。dpiaware=false,但什么也没有发生。 我希望有一个模糊的UI,但正常大小的图标和字体,似乎这个标志不起作用。 我在Windows 8.1上使用JDK 1.8.0\U 45。 我发现了这个bughttps://bugs.openjdk.java.net/browse/JDK-8080153但我不知道如何解决这个问题。
我有一个项目,其中日志方面应用于方法的进入和退出。 要禁用日志,我有下面的语句,但我仍然在日志中看到方法entry、exit(带有跟踪的LogLevel) 但是,当我将loglevel更改为critical(如下所示)时,不会记录方法的进入/退出。 不应该是日志级别。无抑制进入/退出跟踪?
我不能再用加速器了。JMenuItem在菜单中正确地显示为已启用,我可以用鼠标单击它(我的ActionListener正常工作),但加速器不工作--所以我不能再用Ctrl+C启动“Connect”了。 你们中有谁知道这个问题是什么或者我该如何避免它吗? 其他菜单项的加速器(但没有beeing暂时禁用)正在工作。打电话时 下面是一个程序的小代码,它不对键击Ctrl+C做出反应,它连接到一个菜单项:
我在tomcat上配置了ssl,在IE上禁用了tls支持,并启用了ssl支持,但我仍然得到错误消息 Tomcat设置