单点登录Asp.net mvc和wcf跨域独立环境

时间:2015-02-05 08:04:56

标签: c# asp.net-mvc wcf cross-domain single-sign-on

我目前正在为客户提出要求。让我简要介绍一下情景

Web应用程序:Asp.net mvc 5.0 - 在Web场环境中部署在Prod上(BL,基础架构和EF DataAccess层部署在这些盒子上)。

Wcf服务 - Wcf 4.0 - 部署在单独的计算机上

在Wcf和MVC应用程序之间共享一个共同的BL.Services和BL.DataAccess(实体框架和Sql Server)。

Wcf使用Service Facade挂接到BL.Services,该服务Facade充当wcf和BL.Services之间的接口。

由于身份验证流程必须通过两个不同的框或两个不同的域进行握手,因此我可以提出的最佳解决方案是使用单点登录构建自定义身份验证机制。

对于单点登录我将使用Web服务和自定义简单成员资格提供程序创建网关接口,该提供程序将加密和解密身份验证cookie。在mvc应用程序中,我再次使用表单身份验证只是为了在应用程序URL中传递cookie,并且在调用业务逻辑中的wcf服务方法时,我也使用Soap头将相同的auth cookie传递给wcf服务。

的问题: - 1.如何映射mvc app和wcf之间的返回呼叫,请假设用户是Web框上的经过身份验证的用户,但不是wcf框上的有效用户。我在哪里实现重定向机制,并将其重定向回调用的页面(显示友好消息)或返回登录页面。

  1. 当身份验证令牌通过soap标头从mvc传递到wcf但是在它可以执行wcf框上的任何业务逻辑方法调用(类似于模块或处理程序)之前,是否有办法对用户进行身份验证。

  2. 请指导我是否为上述情况采取了正确的方法,或者是否有其他方法和途径来实现这一目标。

0 个答案:

没有答案