【发布时间】:2015-06-13 16:55:45
【问题描述】:
我们正在构建一个客户端是 ASP .Net MVC 的平台,使用 ASP Net Identity 2.0 进行身份验证和授权(使用声明),这在 Web 端非常有效。
我们还有一个 WCF 服务,它允许对数据库进行 CRUD 操作(用于多个客户端应用程序),它从这个 ASP .Net MVC 客户端获取请求。 由于我们想在 WCF 端进行特定的 CRUD 操作之前验证(验证和授权)用户,我们需要从客户端获取用户的声明,并执行验证(最好以非常干净的方式使用标头或任何WCF 将能够支持此问题的绑定)。
我一直在搜索不同的论坛,但没有针对此特定场景的简单答案\教程。有人可以帮忙解决这个问题吗?
谢谢, 尼尔。
【问题讨论】:
-
尼尔,您的问题似乎是将声明传递给您的 WCF 服务。您可以传递从 Identity 获得的实际声明,或者您可以传递一个数组或 DTO 代表您想要传递给您的服务的授权和 Id 的值...
-
@nirpi,您希望您的服务使用什么:凭据或安全令牌?
-
@DaveAlperovich,如果可能的话,我想从标头中获取声明,因此我不需要使用额外的身份验证参数“弄脏”我所有的公共方法。
-
@LeonidVasilyev,如果可能的话,我希望我的服务能够获取经过身份验证的用户及其声明。另一种选择是获取令牌,然后以某种方式从某处获取用户 + 声明(最好通过缓存),但不确定是否可以这样做。
-
您可以使用 WCF 来做到这一点。我会使用 Web API。更容易整合身份。我毫不怀疑 Identity 可以在 WCF 中使用,但它还没有这样配置。
标签: asp.net-mvc wcf asp.net-identity wcf-security claims-based-identity