当前位置: 首页 > 知识库问答 >
问题:

跳过Spring SAML SSO上的特定路径

长孙智刚
2023-03-14

网站contextPath是根目录,http://localhost:8080,使用Spring security SAML实现单点登录。无论在localhost:8080根路径下输入什么url,它都将指向IDP提供者进行身份验证,目前为止,这是正确的。

我想要的是在localhost:8080/unsecure目录下,用户可以访问而不需要重定向到IDP进行身份验证。我不知道在哪里配置告诉SAML跳过某些路径。

共有1个答案

单于翰飞
2023-03-14

在您的security-ApplicationContext.xml文件中,您必须在配置spring-security-saml时映射了类似这样的url:

<!-- Unsecured pages -->
<security:http security="none" pattern="/favicon.ico"/>
<security:http security="none" pattern="/images/**"/>
<security:http security="none" pattern="/css/**"/>
<security:http security="none" pattern="/logout.jsp"/>

<!-- Security for the administration UI -->
<security:http pattern="/saml/web/**" use-expressions="false">
    <security:access-denied-handler error-page="/saml/web/metadata/login"/>
    <security:form-login login-processing-url="/saml/web/login" login-page="/saml/web/metadata/login" default-target-url="/saml/web/metadata"/>
    <security:intercept-url pattern="/saml/web/metadata/login" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
    <security:intercept-url pattern="/saml/web/**" access="ROLE_ADMIN"/>
    <security:custom-filter before="FIRST" ref="metadataGeneratorFilter"/>
</security:http>

<!-- Secured pages with SAML as entry point -->
<security:http entry-point-ref="samlEntryPoint" use-expressions="false">
    <security:intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY"/>
    <security:custom-filter before="FIRST" ref="metadataGeneratorFilter"/>
    <security:custom-filter after="BASIC_AUTH_FILTER" ref="samlFilter"/>
</security:http>

在这里,我们允许图像、css、favicon等无需登录即可使用。因此,如果您希望无需身份验证就可以使用无安全映射列表,请向其添加更多URL。

 类似资料:
  • 我有一个视图寻呼机,它的适配器上有片断列表。这就是我想要实现的场景: 假设我们有4个片段:Fragment1 Fragment2 Fragment3 Fragment4 我想在从Fragment4中滑动时跳过fragment3。 任何帮助都是非常感谢的。非常感谢你

  • 所以我有 我读过Baeldung的文章和其他东西,但似乎我的选项是自定义类型(这是一个原始类型)或全局类型。如何实现这种自定义序列化?

  • 我在gradle中使用flyway,我在数据库控制台中手动运行了其中一个迁移,我想运行flyway,但告诉它忽略所有其他迁移版本之间的一个特定迁移版本。可以这样做吗?

  • 新反应: 我有一个 组件,我只想在用户访问特定页面时隐藏该组件。 App.JS: main.js:

  • 是否可以像使用exclude排除文件一样,忽略类似以下的错误消息:< code >/etc/some-tool/some-log:file changed as we read it ? 我使用tar进行系统备份,将stdout和stderr重定向到日志文件中。我有一些包含日志文件的direcotures。我只是不想在我的结果文件中每天都有相同的错误行(如上图所示)。 到目前为止,在上找不到可以帮