gpt4 book ai didi

java - Spring Security Rest 基本身份验证

转载 作者:搜寻专家 更新时间:2023-11-01 02:05:45 24 4
gpt4 key购买 nike

我正在使用基于 Spring security 4 XML 的配置。

这是我的配置:

      <security:http use-expressions="true" authentication-manager-ref="authenticationManager" entry-point-ref="authenticationEntryPoint">
<security:intercept-url pattern="/**" access="hasRole('ROLE_USER')"/>
<security:form-login authentication-success-handler-ref="authenticationSuccessHandler"
authentication-failure-handler-ref="authenticationFailureHandler"
/>
<security:logout success-handler-ref="logoutSuccessHandler"/>
<security:csrf disabled="true"/>
</security:http>

<security:authentication-manager id="authenticationManager">
<security:authentication-provider>
<security:user-service>
<security:user name="username" authorities="ROLE_USER" password="password"/>
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>

<bean id="authenticationEntryPoint" class="package.CustomBasicAuthenticationEntryPoint">

authenticationEntryPoint 具有以下实现:

public class CustomBasicAuthenticationEntryPoint implements AuthenticationEntryPoint {

@Override
public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) throws IOException, ServletException {

response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
}
}

问题是当我尝试验证时:

http://localhost:8080/myApp/api/j_spring_security_check 正文:j_password=password&j_username=username

由于我的自定义入口点,我总是401 错误状态。在我看来,spring security 没有调用身份验证管理器。我想念什么吗?

感谢您的帮助。

更新

感谢您的回答,我一直在使用 Spring Security 3.2,我将 j_username、j_password 和 j_spring_security_check 更改为用户名、密码和登录名。我仍然遇到同样的问题:401 代码状态:即使我尝试使用表单 (POST) 进行身份验证,Spring Security 仍在调用自定义 authenticationEntryPoint。

最佳答案

对于 Spring Security 版本 4,默认的登录处理 URL 是:

http://localhost:8080/myApp/login

(j_spring_security_check在早期版本中使用。)

请注意,这是表单登录,与HTTP 基本身份验证 无关。

关于java - Spring Security Rest 基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34270778/

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