Spring web, xml с базовой и Saml конфигурацией - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть два DispatcherServlet, названные spring-saml, и еще одно, как spring-basic, я хочу настроить аутентификацию saml для spring-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>

Скажите, пожалуйста, как мне этого добиться.

...