1.首先確定IIS所在計算機是否已添加到域中:右擊計算機-》屬性,在計算機名稱,域,工作組設置中可看到計算機所在的域,若沒有,可點擊更改設置,再點擊更改,選擇要綁定的域即可(需要用域賬戶登錄)。
2.在webconfig的system.web節點添加
<authentication mode="Windows"/>
<identity impersonate="false"/>
3.IIS網站的身份驗證設置為Windows身份認證,其他禁用。
4.相關代碼
獲取登錄用戶的登錄名
// <summary> /// 根據指定的HttpContext對象,獲取登錄名。 /// </summary> /// <param name="context"></param> /// <returns></returns> public static string GetUserLoginName(HttpContext context) { if( context == null ) return null; if( context.Request.IsAuthenticated == false ) return null; string userName = context.User.Identity.Name; // 此時userName的格式為:UserDomainName\LoginName // 我們只需要后面的LoginName就可以了。 string[] array = userName.Split(new char[] { '\\' }, StringSplitOptions.RemoveEmptyEntries); if( array.Length == 2 ) return array[1]; return null; }
/// <summary> /// 根據指定的HttpContext對象,獲取登錄名。 /// </summary> /// <param name="context"></param> /// <returns></returns> public static string GetUserLoginName(HttpContext context) { if( context == null ) return null; if( context.Request.IsAuthenticated == false ) return null; string userName = context.User.Identity.Name; // 此時userName的格式為:UserDomainName\LoginName // 我們只需要后面的LoginName就可以了。 string[] array = userName.Split(new char[] { '\\' }, StringSplitOptions.RemoveEmptyEntries); if( array.Length == 2 ) return array[1]; return null; }
參考文章:http://www.cnblogs.com/fish-li/archive/2012/05/07/2486840.html