2011-03-16 4 views
0

Windows 응용 프로그램을 만들고 Windows 인증을 사용하여 사용자를 로그인하려면 인트라넷에서 사용해야합니다. 응용 프로그램은 사용자의 사용자 이름과 암호를 수락해야하며이를 인증해야합니다. 이것을 달성하는 방법.Dotnet : - 윈도우 폼 애플리케이션에서 윈도우 인증을 얻는 방법?

+2

하나 [실행] (http://geekswithblogs.net/Ramaraju/archive/2009/07/14/windows_authentication_in_winform_application입니다 .aspx) –

+0

@ Sanjeev : - 나는 우르 아이디어를 사용했다. 도와 주셔서 감사합니다 – Prachur

답변

2

Interop Services를 사용하여이를 수행 할 수 있습니다. 아래 코드를 사용하십시오.

[System.Runtime.InteropServices.DllImport("advapi32.dll")] 
    public static extern bool LogonUser(string userName, string domainName, string password, int LogonType, int LogonProvider, ref IntPtr phToken); 

    public bool IsValidateCredentials(string userName, string password, string domain) 
    { 
     IntPtr tokenHandler = IntPtr.Zero; 
     bool isValid = LogonUser(userName, domain, password, 3, 0, ref tokenHandler); 
     return isValid; 
    } 
1

Environment.UserName은 현재 사용자의 사용자 이름입니다. 사용자가 창에 로그인 했으므로 암호가 필요하지 않습니다.

+1

Environment.Username이 (가) 로그인 한 사용자 이름을 제공하지만 내 응용 프로그램에 로그인 할 수있을만큼 충분합니까? 필자는 로그인 한 사용자를 내 사용자 테이블의 사용자와 일치시켜야하고 사용자 이름만으로이 작업을 수행해야합니다. 어떤 사람이 인트라넷 도메인과 동일한 이름을 가진 컴퓨터에 로컬 도메인을 생성하고 사용자가 원하는 도메인 이름을 만들면 어떻게 될까요? 그래서 그는 원하는 모든 사용자와 로그인 할 수 있습니다. 내가 잘못? –