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但不,它会加载服务器凭据:-(