通过 ADFS(活动目录联合身份验证服务)对用户进行身份验证

本文关键字:身份验证 服务 用户 ADFS 活动 通过 | 更新日期: 2023-09-27 18:34:31

我需要通过ADFS检查特定用户是否存在于活动目录中。

因此,我希望我的 ADFS通过用户名/密码check user Authentication

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

提前感谢!

通过 ADFS(活动目录联合身份验证服务)对用户进行身份验证

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

信任/13/用户名混合

ADFS 2.0 的终结点。

这不会检查用户是否存在于活动目录中!

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

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<IYourInterface >(binding, "your service address");
factory.ConfigureChannelFactory();
IYourInterface channel = factory.CreateChannelWithIssuedToken(token);

希望这有帮助!

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

根据@Marnix,这是开箱即用的行为。

但是,只是要指出:

对用户进行身份验证与检查活动目录中是否存在特定用户不同。

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