■ WindowsIdentity 클래스를 사용해 특정 윈도우즈 사용자 계정의 권한을 갖는 방법을 보여준다.
▶ WindowsIdentity 클래스 : 특정 윈도우즈 사용자 계정 권한 갖기 예제 (C#)
1 2 3 |
LogonUser("administrator", ".", "1234"); |
▶ WindowsIdentity 클래스 : 특정 윈도우즈 사용자 계정 권한 갖기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
using System; using System.Runtime.InteropServices; using System.Security.Principal; #region 사용자 로그온 하기 - LogonUser(userName, domain, password) /// <summary> /// 사용자 로그온 하기 /// </summary> /// <param name="userName">사용자명</param> /// <param name="domain">도메인</param> /// <param name="password">패스워드</param> /// <returns>처리 결과</returns> public bool LogonUser(string userName, string domain, string password) { int token; bool result = LogonUser(userName, domain, password, 8, 0, out token); WindowsIdentity.Impersonate((IntPtr)token); return result; } #endregion #region 사용자 로그온하기 - LogonUser(userName, domain, password, logonType, logonProvider, userToken) /// <summary> /// 사용자 로그온하기 /// </summary> /// <param name="userName">사용자명</param> /// <param name="domain">도메인</param> /// <param name="password">패스워드</param> /// <param name="logonType">로그온 타입</param> /// <param name="logonProvider">로그온 공급자</param> /// <param name="userToken">사용자 토큰</param> /// <returns>처리 결과</returns> [DllImport("advapi32", EntryPoint = "LogonUser", SetLastError = true)] private static extern bool LogonUser(string userName, string domain, string password, int logonType, int logonProvider, out IntPtr userToken); #endregion |
※ XBAP에서 실행할 수 없다.