2009-03-04 4 views
1

C# 3.0에서 로컬 Windows 사용자 계정을 인증하는 방법. Windows OS에서 암호를 확인해야하는 곳은 Vista와 Win2K8입니다. 참고 : 사용자 계정은 도메인 계정이 아니라 로컬 계정입니다. C# 3.5 (PrincipalContext 클래스)에서 솔루션을 찾았지만 3.0 프레임 워크에서 찾을 수 없습니다. 감사합니다.C# 3.0의 Windows 로컬 사용자 계정 인증

+0

계정을 어떻게 인증합니까? 해당 사용자로 일부 코드를 실행합니까? 또는 해당 사용자로 일부 리소스에 액세스합니까? – mundeep

+0

시스템에 몇 가지 계정을 만드는 설치 프로그램을 준비 중입니다. 시스템에 이미 이러한 계정이있는 경우 해당 사용자가 제공 한 암호로 해당 계정을 인증해야합니다. –

답변

3

로컬 사용자의 유효성을 검사하려는 경우 LogonUser를 사용하여이 작업을 수행 할 수 있습니다. 로컬 및 원격 사용자를 모두 검증 할 수 있습니다. 로컬 사용자는 도메인 대신 컴퓨터 이름을 전달하면됩니다.

다음 블로그 항목은 C#에서이 함수를 호출하는 방법에 대해 자세히 설명합니다.

[ http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/HowToGetATokenForAUser.html]

https://web.archive.org/web/20110224015020/http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/HowToGetATokenForAUser.html

편집

이것은 사용자를 인증하는 가장 좋은 방법이다. 세션이 끝나면 결과 토큰에 CloseHandle으로 전화해야합니다.

+0

정보를 제공해 주셔서 감사합니다. 그것은 완벽하게 작동합니다. 그러나 생성하는 로그온 세션에 대해서만 알고 있습니다. 나는 이것에 대해 많은 생각을 갖고 있지 않다. 이것은 우리가 단지 pwd를 검증 할 필요가있을 때 따라야 할 좋은 접근인가? 세션을 로그 오프하기 위해 코드를 작성해야합니까? pwd를 확인하는 직접적인 방법이 있습니까 –

+0

괜찮습니다. 모든 서비스가 사용자의 자격 증명을 확인하는 데 사용하는 API와 같습니다. 로그온 유형의 NETWORK (3)은 사용자 프로필 등을로드하지 않을 것이라고 생각합니다. 그냥 반환 된 핸들을 닫아야합니다. – Josh

+2

Jared, 링크가 끊어졌습니다. –

관련 문제