【问题标题】:Service Stack authentication服务堆栈身份验证
【发布时间】:2012-10-17 07:38:02
【问题描述】:

? - 是否可以在同一个 MVC 4 托管服务堆栈 Web 服务中有多个身份验证提供程序,我们将有多个端点利用需要不同级别/类型的身份验证的内部和外部服务。

我最初需要实现几个自定义提供程序以满足我们的需求,以便根据 URL 使用不同的身份验证提供程序,到目前为止,我只找到了提供单个自定义身份验证提供程序的示例。

【问题讨论】:

    标签: servicestack


    【解决方案1】:

    是的。您可以使用多个提供商。然后,您可以为不同的资源设置不同的角色(网址)来管理您的内部和外部级别。

    查看https://github.com/ServiceStack/SocialBootstrapApi 示例项目。这个例子有很多不同的身份验证提供程序。每个身份验证提供程序都解析为路径 /auth/{provider},其中提供程序使用自定义提供程序的 IAuthProvider.Provider 属性和内置提供程序进行解析。

    您需要注册每个要使用的身份验证提供程序。

    //Register all Authentication methods you want to enable for this web app.            
    Plugins.Add(new AuthFeature(
        () => new CustomUserSession(), //Use your own typed Custom UserSession type
        new IAuthProvider[] {
            new CredentialsAuthProvider(),        
            new TwitterAuthProvider(appSettings),  
            new FacebookAuthProvider(appSettings), 
            new DigestAuthProvider(appSettings),  
            new BasicAuthProvider(),               
            new GoogleOpenIdOAuthProvider(appSettings), 
            new YahooOpenIdOAuthProvider(appSettings),  
            new OpenIdOAuthProvider(appSettings),     
    }));
    

    然后您可以通过点击不同的网址登录,例如

    • /auth/facebook
    • /auth/twitter

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      • 2017-08-02
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多