如何在servicestack.net中实现身份验证

时间:2011-05-03 04:40:23

标签: c# security authentication servicestack

我正在调查servicestack.net - 但它的示例和文章似乎没有涵盖身份验证 - 这是由servicestack.net处理的 - 如果是这样的话?

特别是我对实施支持感兴趣:

  • OAuth(因此,在将其传递到servicestack.net进行处理之前,能够检查原始请求并验证它/检索关联的用户信息并与请求关联)。
  • 基于会话/ cookie的身份验证(因此允许已经具有有效ASP.Net会话的Ajax客户端将其用于身份验证,而不是需要显式传递登录和密码详细信息以获取适合随后请求提交的会话令牌)。

在使用ServiceStack.Net框架时,有人能指出我在证明身份验证/安全性的文档/示例方向。

1 个答案:

答案 0 :(得分:25)

编辑: ServiceStack中现在有一个新的Authentication provider model,其中包含以下内置提供程序:

  • 凭据 - 用于使用用户名/密码凭据进行身份验证。例如表格认证
  • 基本身份验证 - 允许用户使用基本身份验证进行身份验证
  • Twitter OAuth - 允许用户注册和使用Twitter进行身份验证
  • Facebook OAuth - 允许用户注册并通过Facebook进行身份验证

新的身份验证提供程序模型完全是可选的,是基于ServiceStack现有请求/响应过滤器构建的用户级库。

有关如何创建自己的更多信息,请检查此线程以获取ServiceStack中的身份验证选项。

https://groups.google.com/d/topic/servicestack/U3XH9h7T4K0/discussion

基本上,您可以使用Request过滤器来拦截请求,或使用基类来添加通用验证逻辑。该线程包含两个选项的示例。

或者,您可以将ServiceStack与另一个ASP.NET Web框架一起托管,以便您可以使用其内置的身份验证提供程序,并使用请求筛选器和Cookie在ServiceStack中验证有效的用户会话。

以下是implementing HTTP Basic Auth with Request filters

的示例