我需要通過ADFS
來檢查特定用戶是否存在或不在Active Directory中。通過ADFS(Active Directory Federation Service)對用戶進行身份驗證
所以,我想我的ADFS到check user Authentication
通過用戶名/密碼。
有沒有人可以提供相同的示例代碼或教程。
在此先感謝!
我需要通過ADFS
來檢查特定用戶是否存在或不在Active Directory中。通過ADFS(Active Directory Federation Service)對用戶進行身份驗證
所以,我想我的ADFS到check user Authentication
通過用戶名/密碼。
有沒有人可以提供相同的示例代碼或教程。
在此先感謝!
AD FS 2.0登錄頁面支持開箱即用的用戶名/密碼驗證。沒有必要的代碼或定製。
根據@Marnix,這是超出框的行爲。
然而,僅僅指出:
驗證用戶是不一樣的檢查特定用戶是否在Active Directory中存在。
例如用戶可能被鎖定。他仍然存在於AD中,但無法進行身份驗證。
要使用用戶名/密碼驗證就可以使用
信任/ 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<IYourInterface >(binding, "your service address");
factory.ConfigureChannelFactory();
IYourInterface channel = factory.CreateChannelWithIssuedToken(token);
希望這有助於!
實際上,您在這裏提出兩個問題:ADFS可以檢查用戶是否存在於Active Directory中,並且可以使用用戶名和密碼在ADFS中進行身份驗證。 – flayn