繁体   English   中英

如何获得Windows用户名

[英]How to get windows username

我们希望将应用程序托管在IIS中。 我们的应用程序将由Intranet用户使用。

我们的主要要求是内部网用户不应使用Windows提示符,因此我们没有使用Windows身份验证。 我们已使用具有活动目录授权的表单身份验证。 但是,然后我们没有登录到用户名。(已登录计算机的Windows用户名)

第一种方法 -诸如“ System.Security.Principal.WindowsIdentity.GetCurrent().Name ”之类的代码-在IIS中托管时不提供用户名。

第二种方法-以下代码通过Visual Studio为我提供了用户名

    RegistryKey processor_key = Registry.CurrentUser.OpenSubKey(@"Volatile Environment");
    if (processor_key != null)
    {
        if (processor_key.GetValue("USERNAME") != null)
        {
            Console.WriteLine("Language: {0}", processor_key.GetValue("USERNAME").ToString());
            string username = processor_key.GetValue("USERNAME").ToString();
            txtUsername.Text = username;
        }

    }

但是当我在IIS中托管此站点时。 我没有得到用户名。

在不使用Windows身份验证的情况下,有没有办法在IIS中获取计算机用户名?

请指导。

从MVC控制器(实际上是从System.Web.Mvc.Controller类继承)中,可以访问在基础Controller定义的User对象:

string username = this.User.Identity.Name;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM