对WCF服务进行身份验证

时间:2011-05-19 19:36:19

标签: wcf authentication forms-authentication wcf-authentication

关于如何做到这一点似乎有太多的资源,但我真的找不到任何可以做我想做的事情。我正在尝试创建一个WCF Web服务,要求用户进行身份验证以便能够执行任何操作(调用方法,请参阅WSDL等)。身份验证将是我为连接到LDAP服务器而编写的自定义部分。我想使用表单身份验证,因为我不希望客户端必须在每个请求上重新进行身份验证。我希望该服务只是向客户端发送一个Forms Auth票证cookie,客户端可以将其发回以备将来的请求(我可以将其用于不支持cookie的客户端环境,例如移动应用程序)。但是,在服务端,我需要能够在内存中存储每个用户的数据,以保留用户身份验证组的缓存副本(以避免重复调用LDAP服务器),这可以很容易地使用表单Auth票证。我是WCF和表单身份验证的新手,所以如果你不跳过“简单”的东西,我将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

在我看来,您需要设置一个安全令牌服务(STS)来处理身份验证。如果您愿意,STS可以公开LDAP或SQL表。

其他替代品可以是Windows Azure ACS,允许您与Facebook和Google等许多不同的身份提供商进行联合。

如果您的身份验证源是Active Directory,那么ADFS就是您的选择。