使用 Grails Spring Security Saml 插件

Posted

技术标签:

【中文标题】使用 Grails Spring Security Saml 插件【英文标题】:Using Grails Spring Security Saml Plugin 【发布时间】:2017-05-26 03:51:40 【问题描述】:

我正在尝试在 grails 应用程序中使用 Grails Spring Security Saml Plugin 来获得单点登录功能,我努力寻找任何示例来解释我需要执行哪些步骤来添加此插件,然后在我的本地进行测试使用模拟 IDP 和 SP 的环境,但除了 Grails Spring Security Saml Plugin Documentation 之外没有找到任何东西,这仅有助于在应用程序中添加插件并配置其不同的属性。

谁能建议我如何完成此插件集成并使用模拟 IDP 和 SP 在本地环境中对其进行测试的步骤?

我在 BuildConfig.groovy 中添加了以下内容

dependencies 
...
    compile ("org.springframework.security.extensions:spring-security-saml2-core:1.0.1.RELEASE") 
        export = false
        excludes 'spring-security-core'
        excludes 'spring-security-web'
    
...


plugins 
...
    compile ':spring-security-saml:2.0.0'
...

【问题讨论】:

【参考方案1】:

我研究了很多,以下是我的发现

    Grails Spring Security Saml Plugin 内部使用 Spring Security SAML 插件。 所以最好直接使用Spring Security SAML插件来获得更大的灵活性。

我遵循this 文档并将插件及其配置添加到我的应用程序中,现在它运行良好。 对于 Grails 中的 Spring SAML 新手来说,最好的起点是 Grails SSO Sample 应用程序,我已针对 Grails 2.4.3 进行了升级。在本地运行这个应用程序,了解在这个应用程序中完成的配置,然后在你的应用程序中逐步实现这些配置。

【讨论】:

我已经完成了相同的配置并尝试使用 SSO 进行日志记录。我唯一改变的是afterLoginURL,它在本地服务器上工作正常,但是当我将它部署在登台服务器中时,它会一直重定向到登录页面。你能帮我解决这个问题吗?演示做得很好! @Aamir Ali 在 git 项目示例中,如果我们再次点击登录 url,则会创建一个新会话。未使用已登录的会话。我们该如何处理?

以上是关于使用 Grails Spring Security Saml 插件的主要内容,如果未能解决你的问题,请参考以下文章

Grails - grails-spring-security-rest - 无法从 application.yml 加载 jwt 机密

使用 Spring Security Grails 插件编码密码

Grails + spring-security-core:用户登录后如何分配角色?

在 Grails 中使用 Pre/Post Spring-Security Annotations

Grails 3.0 和 Spring Security

Grails - 卸载 Spring Security Core