通过ADFSvalidation用户(Active Directory联合身份validation服务)

我需要通过ADFS检查特定用户是否存在于Active Directory中。

所以,我希望我的ADFS 通过UserName / Password check user Authentication

有人可以提供相同的示例代码或教程。

提前致谢!

要使用用户名/密码身份validation,您可以使用

信任/ 13 / UsernameMixed

ADFS 2.0的端点。

这不会检查用户是否存在于Active Directory中!

在代码中,您可以像这样请求令牌:

 WSTrustChannelFactory adfsfactory = new WSTrustChannelFactory(new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential), StsEndpoint); adfsfactory.TrustVersion = TrustVersion.WSTrust13; // Username and Password here... factory.Credentials.UserName.UserName = "domain\username"; factory.Credentials.UserName.Password = "password"; IWSTrustChannelContract channel = adfsfactory.CreateChannel(); // request the token SecurityToken token = channel.Issue(rst); 

然后使用您的令牌为您的服务创建渠道工厂:

 var binding = new WS2007FederationHttpBinding(WSFederationHttpSecurityMode.Message); var factory = new ChannelFactory(binding, "your service address"); factory.ConfigureChannelFactory(); IYourInterface channel = factory.CreateChannelWithIssuedToken(token); 

希望这可以帮助!

AD FS 2.0登录页面支持开箱即用的用户名/密码validation。 无需代码或自定义。

根据@Marnix,这是不行的行为。

但是,只需指出:

对用户进行身份validation与检查Active Directory中是否存在特定用户不同。

例如,用户可能被锁定。 他仍然存在于AD但无法进行身份validation。