Ale*_*all 5 wcf wif sts-securitytokenservice
我创建了一个安全令牌服务(STS),一个引用STS的服务和一个示例桌面应用程序.
当使用Windows身份验证和Message安全性时,这可以正常工作,从STS检索令牌并成功调用服务方法.该服务返回一个包含当前用户标识的字符串,该标识符返回我的AD用户名.
但是我要求对数据库而不是AD进行身份验证.我试过创建一个CustomUserNameValidator(在STS中,这是正确的位置吗?)并在web.config中引用它.然后,我提供如下所示的凭据.
SampleServiceReference.SampleServiceClient client = new SampleServiceReference.SampleServiceClient();
client.ClientCredentials.UserName.UserName
= "alex";
client.ClientCredentials.UserName.Password
= "pass";
我相信证书设置正确(全部使用'localhost'),但是在调用服务时我收到以下异常:
System.ServiceModel.FaultException:ID3242:无法对安全令牌进行身份验证或授权.
无论我尝试什么似乎都失败了.我所描述的甚至可能吗?服务客户端是否也将客户端凭据传递给STS,或者我完全误解了这里发生的事情?
这个stackoverflow问题是类似的,但我已经检查了受众URL,似乎没问题.WIF STS ID3242
有没有人对如何在使用STS时实现自定义身份验证有任何建议?
更新:下面引用的代码示例不再可用(Codeplex 不存在)。该书下载如下: https: //www.microsoft.com/en-us/download/details.aspx ?id=28362
这里有一个您需要的简单示例: http: //claimsid.codeplex.com
查看示例 8 或 4。
不过有一点小小的澄清。用户名/密码身份验证在 STS 上进行,而不是在您的服务上进行。您的服务将使用从 STS 获取的安全令牌进行身份验证。
| 归档时间: |
|
| 查看次数: |
17116 次 |
| 最近记录: |