2013-01-20 22 views
0

사용자가 WPF 형식으로 입력 한 원격 컴퓨터의 사용자 이름/암호가 올바른지 확인하려고합니다.자격증 명 원격 서버 인증

사용자 이름, 암호 및 IP 주소와 같은 문자열이 있습니다.

나는 "DirectoryEntry"에 관해 뭔가를 보았지만 제대로 작동하지 못했습니다. 암호가 틀린 경우에도 사용자는 항상 인증됩니다.

아이디어가 있으십니까?

+0

Active Directory 인증에 대해 이야기하고 있습니까? 예, 사용자 이름/비밀번호의 조합이 올바른지 확인하는 방법이 있습니다. –

+0

예, Active Directory 인증에 대해 이야기하고 있습니다. 어떻게 보여 주시겠습니까? – Idanis

+0

이 답변이 도움이되는지 확인하십시오. http://stackoverflow.com/questions/290548/validate-a-username-and-password-against-active-directory –

답변

0

여러 가지 방법이 있습니다,하지만 난 전에 그것을 한 적이 방식이 같다 (하여 DirectoryEntry를 사용하여),이 같이 간다 :

string ldapConnectionString = @"LDAP://[domain_server]/CN=Users,DC=[domain]" 

using (var de = new DirectoryEntry(
    ldapConnectionString, "username", "password", 
    AuthenticationTypes.Secure)) 
{ 
    return de.NativeObject != null; // if not null -> user is valid 
} 

편집 : 할 것입니다이 코드는 무엇인가, 조합의 유효성을 검사 활성 디렉토리에 대한 사용자 이름/암호 내가 당신을 오해하고 있다고 생각합니다 (사용자가 특정 서버에 연결할 수 있는지 확인하는 것입니다.> HAS PERMISSION과 같이, 어떻게 할 것인지, 또는 가능할지라도).

+0

서버가 작동 예외가 아닙니다. ldap 문자열을 올바르게 쓰고 있습니까 :'string ldapConnectionString = @ "LDAP : //10.0.0.160/CN=Users,DC= [10.0.0.160]";'? – Idanis

+0

나는 이것이 다음과 같이되어야한다고 생각한다. "@"LDAP : //10.0.0.160/CN=Users,DC=DOMAIN_NAME "; –

+0

"COMPANY.US"라는 도메인이 있다고 가정 해 보겠습니다. 이렇게하면 "@ LDAP": //10.0.0.160/CN=Users,DC=COMPANY, DC = US "; –