gpt4 book ai didi

java - 如果通过 java 代码访问 URL,Spring 身份验证会失败

转载 作者:行者123 更新时间:2023-12-01 15:19:46 25 4
gpt4 key购买 nike

目前我正在通过 Spring Filter 和 Servlet 使用 Spring Security 身份验证。

<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>

<!-- Enables Spring Security -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- End Spring Security -->

在我的 spring-security.xml 中

<authentication-manager alias="authenticationManager">
<authentication-provider ref="myAppAuthenticationProvider"/>
</authentication-manager>

<beans:bean id="myAppAuthenticationProvider"
class="com.filter.MyAppAuthenticationProvider">
<beans:property name="repository" value="#{deployment['globalregistry.repository']}"/>
</beans:bean>

现在,当我点击 URL 例如:http://localhost:8080/context/admin?action=authenticate

j_username:用户
j_password:密码

我看到一个屏幕,用于输入由 spring-security 验证的用户和密码。

现在,当我尝试通过 HTTPPost API 通过 Java 程序访问上述 URL 时,收到重定向错误响应 302。现在如何绕过登录屏幕进行验证并直接进行身份验证,而不重定向到网页。并使用我的 java 程序提供 j_username 和 j_password。

请注意,当我点击 URL 时,页面会重定向到类似 http://localhost:8080/context/spring_security_login 的内容。

你们的帮助将非常感激。!

最佳答案

您应该在用于身份验证的 URL 中传递 j_usernamej_password

例如:

http://localhost:8080/yourAppContext/j_spring_security_check?j_username=user&j_password=pass

关于java - 如果通过 java 代码访问 URL,Spring 身份验证会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11116738/

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