首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在同一应用程序中使用spring示例配置spring security基本身份验证和SAML身份验证

如何在同一应用程序中使用spring示例配置spring security基本身份验证和SAML身份验证
EN

Stack Overflow用户
提问于 2014-09-26 22:37:22
回答 1查看 3.2K关注 0票数 5

我有一个应用程序,它使用spring security基本身份验证,根据数据库验证用户详细信息。有一组根据SSO数据库进行验证的特定用户。使用SAML,我能够针对SSO数据库进行验证。

但问题是如何将基本身份验证和SAML身份验证集成到单个应用程序中,并将用户定向到特定的身份验证。另一个原因是,两者也使用不同的身份验证提供程序。

我使用了spring-saml示例来配置SAML。

ANother问题与intercept-url模式有关。在下面的配置中,两个安全配置都没有映射到模式属性,因为服务器启动时出现异常,因为有两个配置映射到/** (任何请求)。如何解决此异常?

例如:

代码语言:javascript
复制
<security:http access-denied-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="/login" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
    <security:intercept-url pattern="/logout" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
    <security:intercept-url pattern="/home" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
    <security:custom-filter before="FIRST" ref="metadataGeneratorFilter"/>
</security:http>

<security:http pattern="/saml/mysignin" entry-point-ref="samlEntryPoint">
    <security:intercept-url pattern="/saml/mysignin" access="IS_AUTHENTICATED_FULLY"/>
    <security:custom-filter before="FIRST" ref="metadataGeneratorFilter"/>
    <security:custom-filter after="BASIC_AUTH_FILTER" ref="samlFilter"/>
</security:http>

<bean id="samlFilter" class="org.springframework.security.web.FilterChainProxy">
    <security:filter-chain-map request-matcher="ant">
        <security:filter-chain pattern="/saml/login/**" filters="samlEntryPoint"/>
        <security:filter-chain pattern="/saml/logout/**" filters="samlLogoutFilter"/>
        <security:filter-chain pattern="/saml/metadata/**" filters="metadataDisplayFilter"/>
        <security:filter-chain pattern="/saml/SSO/**" filters="samlWebSSOProcessingFilter"/>
        <security:filter-chain pattern="/saml/SSOHoK/**" filters="samlWebSSOHoKProcessingFilter"/>
        <security:filter-chain pattern="/saml/SingleLogout/**" filters="samlLogoutProcessingFilter"/>
        <security:filter-chain pattern="/saml/discovery/**" filters="samlIDPDiscovery"/>
    </security:filter-chain-map>
</bean>
EN

回答 1

Stack Overflow用户

发布于 2014-09-27 03:41:55

Spring SAML 1.0.0中的示例应用程序既包含使用用户名和密码的基本身份验证,也包含基于SAML的身份验证。以此为例。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26062134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档