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

Bit*_*der 26 c# security authentication servicestack

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

特别是我有兴趣实现对以下方面的支持:

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

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

myt*_*thz 25

编辑:ServiceStack中现在有一个新的身份验证提供程序模型,其中包含以下内置提供程序:

  • 凭据 - 用于使用用户名/密码凭据进行身份验证.例如Form Auth
  • 基本身份验证 - 允许用户使用基本身份验证进行身份验证
  • Twitter OAuth - 允许用户注册和使用Twitter进行身份验证
  • Facebook OAuth - 允许用户注册和使用Facebook进行身份验证

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

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

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

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

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

以下是使用请求过滤器实现HTTP Basic Auth的示例