4

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

所以,我希望我的ADFS使用check user Authentication 用户名/密码。

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

提前致谢!

4

3 回答 3

5

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

信任/13/用户名Mixed

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<IYourInterface >(binding, "your service address");

factory.ConfigureChannelFactory();

IYourInterface channel = factory.CreateChannelWithIssuedToken(token);

希望这可以帮助!

于 2012-05-23T09:55:41.157 回答
1

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

于 2012-05-18T19:48:35.183 回答
0

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

但是,只是要指出:

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

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

于 2012-05-20T19:15:58.270 回答