0

現在、Spring Filter と Servlet を介して Spring Security Authentication を使用しています。

<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 が返されます。ログイン画面をバイパスして検証し、Web ページにリダイレクトせずに直接認証するにはどうすればよいですか。また、Java プログラムを使用して j_username と j_password を提供します。

URL にアクセスすると、ページが次のようにリダイレクトされることに注意してくださいhttp://localhost:8080/context/spring_security_login

あなたの助けは本当に感謝しています。

4

1 に答える 1

1

認証に使用する URL にj_usernameとを渡す必要があります。j_password

例えば:

http://localhost:8080/yourAppContext/j_spring_security_check?j_username=user&j_password=pass
于 2012-06-20T14:10:04.463 に答える