通过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。