Spring Web,带有Basic和Saml两种配置的xml

时间:2018-12-31 09:50:20

标签: spring spring-mvc web.xml

我有两个DispatcherServlet分别命名为spring-saml和另一个,其命名为spring-basic,我想为spring-saml配置saml身份验证,为spring-basic配置基本身份验证,但是我正在收到异常java.lang.IllegalArgumentException: <login-config> element is limited to 1 occurrence。我的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>Archetype Created Web Application</display-name>

    <servlet>
        <servlet-name>spring-saml</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet>
        <servlet-name>spring-basic</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring-saml</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
    <login-config>
        <auth-method>FORM</auth-method>
    </login-config>

    <servlet-mapping>
        <servlet-name>spring-basic</servlet-name>
        <url-pattern>/basic/*</url-pattern>
    </servlet-mapping>
    <login-config>
        <auth-method>BASIC</auth-method>
    </login-config>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Protected
                Area
            </web-resource-name>
            <url-pattern>/rest/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>Everyone</role-name>
        </auth-constraint>
    </security-constraint>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Protected
                Area
            </web-resource-name>
            <url-pattern>/basic/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>Everyone</role-name>
        </auth-constraint>
    </security-constraint>

</web-app>

请告诉我如何实现这一目标。

0 个答案:

没有答案