によって、特定のユーザーがActiveDirectoryに存在するかどうかを確認する必要がありますADFS
。
したがって、ADFSをcheck user Authentication
UserName/Passwordで実行する必要があります。
誰かが同じためのサンプルコードまたはチュートリアルを提供していただけませんか。
前もって感謝します!
ユーザー名/パスワード認証を使用するには、
trust/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);
お役に立てれば!
AD FS 2.0 サインイン ページは、すぐに使用できるユーザー名/パスワード認証をサポートしています。コードやカスタマイズは必要ありません。
@Marnix によると、これは既定の動作です。
ただし、指摘するだけです:
ユーザーの認証は、特定のユーザーが Active Directory に存在するかどうかを確認することと同じではありません。
たとえば、ユーザーがロックアウトされる可能性があります。彼はまだ AD に存在しますが、認証することはできません。