0

次のサーブレット定義があります。

    <servlet>
        <servlet-name>licenseGenService</servlet-name>
        <servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>licenseGenService</servlet-name>
        <url-pattern>/remoting/licensing</url-pattern>
    </servlet-mapping>

    <!-- Restful API Servlet-->
    <servlet>
        <servlet-name>licensingRestService</servlet-name>
        <servlet-class>
            com.sun.jersey.spi.spring.container.servlet.SpringServlet
        </servlet-class>
        <init-param>
            <param-name>
                    com.sun.jersey.config.property.packages
            </param-name>
            <param-value>
                com.mydomain.licensing.rest
            </param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

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

そして、次のセキュリティフィルター:

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

したがって、私が読んだ内容に基づいて、のURLパターン/*は明示的なURLのパターンによって上書きされます。これは私のサーブレットでは問題なく機能します。licenseGenServiceサーブレットに基本認証が必要なのは望ましくありません。RESTサーブレットにのみ適用され、RESTサーブレットには適用されないようにセキュリティフィルタを定義するにはどうすればよいlicenseGenServiceですか?

4

2 に答える 2

1

アプリケーションコンテキストxmlで承認する必要のあるURLを構成できます。

<http use-expressions="true">
  <intercept-url pattern="/remoting/licensing/**"  filters="none" />
</http>
于 2012-11-06T20:04:44.537 に答える
1

結局、セキュリティアプリケーションのコンテキストに次のものを配置しました。

<http pattern="/remoting/**" security="none"/>

これはSpring3.1で機能します

于 2012-11-06T20:18:09.933 に答える