Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net添加的表单身份验证现在不显示域/用户名_Asp.net_Vb.net_Authentication - Fatal编程技术网

ASP.Net添加的表单身份验证现在不显示域/用户名

ASP.Net添加的表单身份验证现在不显示域/用户名,asp.net,vb.net,authentication,Asp.net,Vb.net,Authentication,我试图记录用户提交表单时登录的用户名和域名。在我将表单验证添加到站点的其余部分之前,这一切都很好 我设置了一个标签来更新页面加载时的文本,如下所示: Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load UserN.Text = Request.ServerVariables("AUTH_USER") End Sub <authentication mode="Forms">

我试图记录用户提交表单时登录的用户名和域名。在我将表单验证添加到站点的其余部分之前,这一切都很好

我设置了一个标签来更新页面加载时的文本,如下所示:

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    UserN.Text = Request.ServerVariables("AUTH_USER")
End Sub 
<authentication mode="Forms"> 
    <forms name=".FILEAPP" loginUrl="Login.aspx" />
</authentication>
<authorization>
    <deny users="?" />
</authorization>

  </system.web>

<location path="default.aspx">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
</location>

<location path="PWForm.aspx">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
</location> 
…正如我所说,这非常有效(显示域/用户名)

现在我添加了表单验证,它允许用户只访问两个页面,这样他们就可以填写表单。这是在my web.config中完成的,如下所示:

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    UserN.Text = Request.ServerVariables("AUTH_USER")
End Sub 
<authentication mode="Forms"> 
    <forms name=".FILEAPP" loginUrl="Login.aspx" />
</authentication>
<authorization>
    <deny users="?" />
</authorization>

  </system.web>

<location path="default.aspx">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
</location>

<location path="PWForm.aspx">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
</location> 

添加此项后,它将显示一个空白,其中显示未登录时的域/用户名以及登录时的登录名

所以我的问题是-在对站点的其余部分使用表单身份验证时,如何显示域名登录名


谢谢大家

现在您正在使用表单身份验证,您应该能够使用内置字段读取登录用户的信息:

UserN.Text = Page.User.Identity.Name

你好谢谢你的回复。我刚刚更改了这个,它显示的是登录者的用户名,而不是他们的域名和网络用户名。还有什么我可以试试的吗?Thanks@BenWilliams使用Forms Auth,您将无法获取用户的域-您将了解他们如何登录到web Forms应用程序。您以前一定使用过Windows Auth。尝试此操作时,我以为自己差点就成功了:System.Security.Principal.WindowsIdentity.GetCurrent()。Name但不,它会加载服务器凭据:-(