SPNEGO - 从身份验证检查中排除特定的 URL/URL 模式

我在我的应用程序中实现了单点登录。现在我得到了我不想在单点登录时使用的 URL(例如一个不受保护的网络服务)。我该怎么做?是否有支持的 SPNEGO init 参数?


<display-name>myapp</display-name>

<welcome-file-list>

    <welcome-file>/faces/index.xhtml</welcome-file>

</welcome-file-list>

<error-page>

    <exception-type>java.lang.Exception</exception-type>

    <location>/faces/error.xhtml</location>

</error-page>

<servlet>

    <servlet-name>Faces Servlet</servlet-name>

    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

    <servlet-name>Faces Servlet</servlet-name>

    <url-pattern>/faces/*</url-pattern>

</servlet-mapping>

<servlet>

    <servlet-name>Jersey REST Service</servlet-name>

    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>

    <init-param>

        <param-name>jersey.config.server.provider.packages</param-name>

        <param-value>prototype</param-value>

    </init-param>

    <load-on-startup>3</load-on-startup>

</servlet>

<servlet-mapping>

    <servlet-name>Jersey REST Service</servlet-name>

    <url-pattern>/rest/*</url-pattern>

</servlet-mapping>

现在我想配置这样的东西:


<filter>

    <filter-name>SpnegoHttpFilter</filter-name>

    <filter-class>net.sourceforge.spnego.SpnegoHttpFilter</filter-class>

[...]

  <init-param>

   <param-name>excludePattern</param-name>

   <param-value>.*rest.*</param-value>

  </init-param>

</filter>

已编辑:09/11/2018 01:35 PM


在 SPNEGO 源代码中,在类 SpnegoHttpFilter.java 中,我找到了我正在寻找的内容(包括评论):


   @Override

public void doFilter(final ServletRequest request, final ServletResponse response

    , final FilterChain chain) throws IOException, ServletException {


    final HttpServletRequest httpRequest = (HttpServletRequest) request;

    final SpnegoHttpServletResponse spnegoResponse = new SpnegoHttpServletResponse(

            (HttpServletResponse) response);


但现在我的问题是,这个函数如何检索目录列表以跳过身份验证?


HUH函数
浏览 154回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java