- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Spring security 中不再使用这两个请求参数吗?我正在学习 Spring Security,一整天我都在努力处理一个简单的登录表单。当我提交到默认的/j_spring_security_check 时(它似乎也不再是默认的),我被重定向到 login?error
页面,因此我决定在检查表单参数,其他一切都好。我将表单提交到自定义 Controller ,并且能够读取 j_username
和 j_password
参数。然后我决定看看Spring中负责身份验证的Filter到底发生了什么
org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException {
if (postOnly && !request.getMethod().equals("POST")) {
throw new AuthenticationServiceException("Authentication method not supported: " + request.getMethod());
}
String username = obtainUsername(request);
String password = obtainPassword(request);
if (username == null) {
username = "";
}
if (password == null) {
password = "";
}
username = username.trim();
UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(username, password);
// Allow subclasses to set the "details" property
setDetails(request, authRequest);
return this.getAuthenticationManager().authenticate(authRequest);
}
我设置了断点来检查参数,但它们为空!然后我检查了 obtainUsername
/Password 方法
protected String obtainUsername(HttpServletRequest request) {
return request.getParameter(usernameParameter);
}
usernameParameter
和 passwordParameter
分别是 username
和 password
,而不是 j_username
> & j_password
这是我的pom.xml
最佳答案
既然您已经了解了该类,您还应该能够看到默认值是 j_username
和 j_password
。但是,也可以覆盖它们,这取决于您如何配置应用程序。
如果您使用过 Java 配置,那么它会 override the defaults .
您应该从一个工作示例开始,而不是费力地从头开始构建某些东西。 Spring Security 源代码树中有很多示例。例如,这里是login form从其中之一,您还可以轻松地看到使用了不同的参数名称。
关于java - j_uasername 和 j_password 在 Spring 3.2.5.RELEASE 中不再使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25659398/
我刚刚浏览了一些关于在 Web 应用程序中使用 JAAS 的基本教程。 我的一切设置都很好,但注意到 j_password 参数是从客户端浏览器以明文形式发送的。 有没有办法让 JAAS 在发送之前对
我想知道如何获取请求参数“j_username”和“j_password”的值? 使用基于表单的身份验证成功登录后,我希望我的 servlet 获取参数“j_username”和“j_password
我的一位同事说使用 spring 默认登录输入参数存在安全风险。我没有问他为什么。我不相信,因为 https 连接会在发布参数时对其进行加密。一些澄清会有所帮助。谢谢。 最佳答案 如果没有解释他认为可
有没有办法配置 Jboss/Tomcat 以防止日志文件中出现 j_password (JAAS) 纯文本内容? (23:03:24,141 DEBUG [org.apache.tomcat.util
Spring security 中不再使用这两个请求参数吗?我正在学习 Spring Security,一整天我都在努力处理一个简单的登录表单。当我提交到默认的/j_spring_security_c
我是一名优秀的程序员,十分优秀!