MVC2应用程序(和其他人)共享WCF服务和身份验证

phi*_*gen 6 asp.net-mvc wcf forms-authentication

我已经看到了几个类似的场景,但不是我特别的场景.我想知道是否有人可以告诉我进入哪个方向?

我正在开发两个(以及更晚的)MVC2应用程序.稍后还会有另一个(更厚的)客户端(WPF或Silverlight,TBD).这些都需要共享相同的身份验证.对于MVC2应用程序,他们(最好)需要单独登录 - 即如果用户登录到一个MVC2应用程序,只要cookie没有超时,就应该授权另一个MVC2应用程序.

将使用表单身份验证.

所有应用程序都需要使用通用业务功能,并通过通用WCF服务应用程序执行数据库访问.如果WCF不能公开访问(即在FW后面被阻止),那将是很好的(我认为).较厚的客户端可以使用附加服务层来访问Common WCF App.

这应该是什么样的:

MVCApp1 - > WCFAppCommon

MVCApp2 - > WCFAppCommon

ThickClient - > WCFApp2 - > WCFAppCommon

是否可以在WCFAppCommon中执行所有身份验证/授权?否则我想我将不得不重复MVCApps和WCFApp2中的所有安全逻辑,而对我来说,它似乎自然而然地存在于WCFAppCommon中.另一方面,似乎我在WCFAppCommon中进行身份验证/授权,我将无法使用表单身份验证.

我已经看到了可能的解决方案(我还没有尝试过),它们看起来比表单身份验证和单个数据库复杂得多.

任何帮助,赞赏,

菲尔

phi*_*gen 4

我想我应该用我学到的(和重新学到的)知识来回顾这一点。

首先是重新吸取的教训——不要固定在一个架构上,然后尝试让其他一切都适合。我专注于 .Net、SQL Server、WCF、MVC2、EF4 和 IIS7。在我的脑海中确定我希望如何将它们组合在一起有点愚蠢!最好出去看看有什么指导。

这让我了解了我学到的东西 - 这是一个链接:

http://wcfsecurityguide.codeplex.com/

我多次对这篇文章打折扣,因为它有点过时了。然而,我想说它实际上非常相关,如果您正在远程启动一个与安全服务有关的项目,请看一下。第四部分有我需要的一切。