【问题标题】:Authenticate user using external webservice in grails在 grails 中使用外部 Web 服务对用户进行身份验证
【发布时间】:2011-07-13 07:21:23
【问题描述】:

在我的 grails 应用程序中,我使用 Spring Security 插件来处理使用用户的电子邮件和密码进行的身份验证。

现在我需要将我的应用程序与使用会员号和密码的外部系统集成。

在第二种情况下,我想通过询问他们的会员号和密码来验证用户身份,调用外部网络服务获取他们的信息(如电子邮件)并在我当前的应用程序中对他们进行身份验证。

如此有效的用户可以直接使用他们的电子邮件地址和密码组合或会员号和密码组合来验证他们自己。

任何建议我如何实现这一点......提前谢谢:-)

【问题讨论】:

    标签: grails spring-security


    【解决方案1】:

    请查看我对Spring Security and External Application for Authentication (Single-sign-on)Configuring Spring Security 3.x to have multiple entry points 的回答。您需要创建两个令牌(一个可以是默认的UsernamePasswordAuthenticationToken,第二个可以是您的自定义MembershipPasswordAuthenticationToken(基本上是UsernamePasswordAuthenticationToken 扩展AbstractAuthenticationToken 的副本)。由于一个身份验证提供程序可以支持多个令牌,因此您可以在您的提供程序中编写逻辑来检查令牌的类别并进行适当的身份验证。例如,如果传入的令牌属于 MembershipPasswordAuthenticationToken 类,则调用 webservice 以获取电子邮件。

    【讨论】:

    • 感谢您的帮助,需要一些时间在 grails 中进行验证...投票
    【解决方案2】:

    从未这样做过,但我认为您应该研究AuthenticationProvider 接口(@98​​7654321@)并制作自己的实现,该实现可以以标准方式或使用从外部应用程序返回的一些回调信息对用户进行身份验证。 Here 是有关如何将自定义提供程序集成到应用程序中的一些信息。

    【讨论】:

    • 感谢您的帮助,需要一些时间在 grails 中进行验证...投票
    猜你喜欢
    • 2021-07-26
    • 2016-07-29
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 2013-02-23
    • 2019-01-28
    • 2016-06-22
    • 2015-01-09
    相关资源
    最近更新 更多