1

The ways I can think of are:

  • Use Windows Identity Foundation (WIF). I have never done this so is a black box and risky.
  • Use Forms Authentication or similar, then use database replication to make sure each application has access to the data store.

No doubt there are other options.

More info: This is for an internet solution, not intranet/LAN

4

5 回答 5

1

我使用 DotNetOpenAuth 取得了很好的成功。StackOverflow 使用它。http://dotnetopenauth.net

于 2010-04-21T02:01:28.417 回答
1

我一直在使用 Windows Identity Foundation。当然,文档很差。

不过,看起来真的很棒的是“基于声明的身份验证”。它基本上允许登录系统授予“声明”,这些声明基本上是描述用户的信息字符串。声明使用私钥签名,因此依赖的 .net 应用程序可以识别声明是真实的。

此外,您可以使用有关您的用户(SQL、AD)的任何底层信息存储,并且存储有关授权用户的信息的方法完全从您的应用程序中抽象出来。有一天,您可以从 SQL 切换到 AD,如果设置正确,依赖的 .net 应用程序将收到完全相同的声明,并且永远不会知道其中的区别。

于 2010-05-12T16:23:05.073 回答
1

如果您对基于声明的方法感兴趣(这将打开各种有趣的机会,如联合等),请查看“声明身份指南”:http: //msdn.microsoft.com/en-us/library/ ff423674.aspx

欧金尼奥

于 2010-05-25T04:07:41.330 回答
0

HowTo应该让您了解如何针对 AD 实例执行用户身份验证,以防您的身份验证背后有一个域。

WCF 只是一种通过通信网络进行通信的方式,因此您不妨通过 WCF 对 AD 进行身份验证。

我希望这会有所帮助!

于 2010-04-21T02:37:19.067 回答
0

ASP.NET 成员服务是一个不错的选择。它允许您使用数据库、Active Directory 或您自己的自定义身份验证来支持它。

http://msdn.microsoft.com/en-us/library/yh26yfzy(VS.85).aspx

它不仅限于网站,还可以在通过 Web 服务公开时从 Silverlight 和 WPF 中使用。

还请查看 OpenID/OpenAuth 甚至 Facebook Connect,以使用单一登录对多个网站/应用程序进行身份验证。

于 2010-04-21T02:54:29.647 回答