2

私はウェブサイトを持っています:「https://blahblah.com」

それを認証するために、私はこれを行います(これは正常に機能します):

NetworkCredential credentials = new NetworkCredential();
            credentials.UserName = AppVars.Username;
            credentials.Password = AppVars.Password;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Credentials = credentials;
            //.....

しかし、ログイン機能を追加したい場合、ユーザー名とパスワードを検証するにはどうすればよいですか?

更新されたコード:

private void btnLogIn_Click(object sender, EventArgs e)
        {
            Properties.Settings.Default.Username = txtUserName.Text;
            Properties.Settings.Default.Password = txtPassword.Text;

            using (PrincipalContext pc = new PrincipalContext( ContextType.Domain,  AppVars.ixLibraryConnectionTestURL))
            {
                try
                {
                    bool isValid = false;
                    isValid = pc.ValidateCredentials(AppVars.Username, AppVars.Password);
                    if (isValid == true)
                    {
                        //just testing
                        MessageBox.Show("is valid");
                    }
                    else
                    {
                        //just testing
                        MessageBox.Show("is not valid");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                } 
            }    
        }

ドメイン名は次のようになります:https ://xxxxxx-services.zzz999.org/pqg_4/lib/api/sdo/rest/v1

4

1 に答える 1

1

使用:System.DirectoryServices.AccountManagement名前空間

// create a "principal context" - e.g. your domain (could be machine, too) 

using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "YOURDOMAIN")) 
{     

// validate the credentials    
 bool isValid = pc.ValidateCredentials("myuser", "mypassword"); 
} 

あなたはここでそれについてもっと読むことができます:

http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx

于 2012-08-09T14:32:26.063 に答える