通过ADFS验证用户(Active Directory联合身份验证服务)

nun*_*unu 4 .net c# adfs2.0 c#-4.0

我需要检查特定用户是否存在或不存在于Active Directory中ADFS.

所以,我想我的ADFScheck user Authentication 通过用户名/密码.

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

提前致谢!

fla*_*ayn 5

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

信任/ 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);
Run Code Online (Sandbox Code Playgroud)

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

var binding = new WS2007FederationHttpBinding(WSFederationHttpSecurityMode.Message);

var factory = new ChannelFactory<IYourInterface >(binding, "your service address");

factory.ConfigureChannelFactory();

IYourInterface channel = factory.CreateChannelWithIssuedToken(token);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!