如何通过WIFI创建自己的短信时获取用户名和密码

时间:2012-05-21 07:33:43

标签: wif sts-securitytokenservice

我正在使用WIF构建自定义STS。在继承SecurityTokenService类之后,我使用WSTrustServiceHost和IWSTrust13SyncContract将我的STS托管为WCF服务。因为它只是一个原型STS,我使用的是BasicHttpBinding。

在客户端,我使用WSTrustChannelFactory连接到我的STS,我可以成功获得输出声明。

但是当我尝试添加身份验证信息(用户名和密码)时,我发现它无法传递到我的STS。

1,如果我使用BasicHttpBinding,即使我通过客户端factory.Credentials.UserName.UserName和.Password指定了它们,我也无法在STS上找到用户名和密码。

2,我改为使用UserNameWSTrustBinding(SecurityMode.Transport),但我仍然无法在STS中获取用户名和密码。

3,在STS中,方法GetScope,GetOutputClaimsIdentity的参数是我运行服务器控制台应用程序的主体,而不是我从客户端指定的那个。

4,我注册了另一个UserNameSecurityTokenHandler并覆盖了它的ValidateToken方法。但似乎STS没有调用这种方法。并且STS提出了一个例外,表示没有CreateToken实现。

5,我尝试了内置的WindowsUserNameTokenHandler,它也引发了同样的异常。

任何人都可以看看并给我一些关于如何处理的建议。

0 个答案:

没有答案