1

私はSpringSecurityを初めて使用し、Spring-Securityモジュールの正確なフローを理解しようとしています。

正しい流れを提案してください。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>OnlineTestProject</display-name>

    <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>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/security/applicationContext-security.xml
            /WEB-INF/db/applicationContext.xml
        </param-value>
    </context-param>

    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>jsp/index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

applicationContext-security.xml

<http use-expressions="true">
    <form-login login-page="/jsp/login.jsp" default-target-url="/jsp/index.jsp"
        authentication-failure-url="/jsp/login.jsp?login_error=1"
        always-use-default-target="true" />

    <intercept-url pattern="/jsp/login.jsp" access="permitAll" />

    <logout logout-url="/j_spring_security_logout"
        invalidate-session="true" />

    <remember-me />

    <session-management invalid-session-url="/jsp/login.jsp?loggedout=true">
        <concurrency-control max-sessions="1"
            error-if-maximum-exceeded="false" />
    </session-management>

    <anonymous enabled='false'/>
</http>

私が知っているのは、アプリケーションのリクエストが来ると、私の場合はjsp / login.jspを開くためのwelcome-file-listに入るので、jsp / login.jspページを直接開きますが、セキュリティを維持しているためです。 、したがって、applicationContext-security.xml内に移動し、jsp /login.jspをフィルター処理する必要があるかどうかを確認します。

<form-login login-page="/jsp/login.jsp" default-target-url="/jsp/index.jsp"
            authentication-failure-url="/jsp/login.jsp?login_error=1"
            always-use-default-target="true" />

また、ログインのために「/jsp/login.jsp」ページに移動し、資格情報が成功した場合は/jsp/index.jspに移動する必要がありますが、/jsp/を開いています。 index.jspページを最初に...

誰かが正しい流れを教えてくれませんか。

ありがとう

4

0 に答える 0