IIS配置域用户自动登录

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的格式为:UserDomainNameLoginName
    // 我们只需要后面的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的格式为:UserDomainNameLoginName
    // 我们只需要后面的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

原文地址:https://www.cnblogs.com/ldybyz/p/6113424.html