- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 j_acegi_security_check
登录到 Spring
网络应用程序,但因为它也接受 GET
参数,这意味着我我能够使用
<https://localhost:8080/webapp/j_acegi_security_check?j_username=***&j_password=***&loginButton=Login>
我想避免这种情况。它应该只接受 POST
请求。如何做到这一点?
最佳答案
默认情况下,spring security 3.x 只接受 POST
登录请求。
但是您可以使用 org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
postOnly
参数来控制此行为
(但正如我之前所说,postOnly
的默认值是 true)
但也许主要问题是您使用旧的 spring acegi security 而不是实际的 spring security 3.x。如果是这种情况,那么我上面的说法是不正确的。所以我强烈建议更新!
如果是 Spring ACEGI 1.0.x
尝试用类似这样的方法覆盖 AuthenticationProcessingFilter
中的 attemptAuthentication
方法:
if (request.getMethod().equals("POST"))
return super.attemptAuthentication(request);
else
throw new AuthenticationServiceException("service accept only http post");
查看评论:覆盖 onPreAuthentication()
接缝也是一个好方法
关于spring - 在 spring j_acegi_security_check 中停止接受 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12312174/
我正在尝试设置 jenkins,但我无法让身份验证工作。我在 CentOS 6.2 上的 Tomcat6 上运行 Jenkins 。我启用登录,一切正常,直到我尝试登录。提供我的凭据并按登录后,tom
我正在使用 j_acegi_security_check 登录到 Spring 网络应用程序,但因为它也接受 GET 参数,这意味着我我能够使用 登录应用程序 我想避免这种情况。它应该只接受 POS
我是一名优秀的程序员,十分优秀!