C# 获取已验证用户的信息(不是计算机名)

C# 获取已验证用户的信息(不是计算机名),c#,asp.net,authentication,C#,Asp.net,Authentication,我有一个登录页面,它调用以下事件处理程序: protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { if (Login1.UserName == "abc" && Login1.Password == "1234"){ if (Request["ReturnUrl"] != null) { FormsAu

我有一个登录页面,它调用以下事件处理程序:

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{        
    if (Login1.UserName == "abc" && Login1.Password == "1234"){
        if (Request["ReturnUrl"] != null)
        {
            FormsAuthentication.SetAuthCookie(userName, false, "AdminPart/AdminHome.aspx");
            FormsAuthentication.RedirectFromLoginPage(userName, Login1.RememberMeSet);
        }
        else
        {              
            FormsAuthentication.SetAuthCookie(userName, false, "AdminPart/AdminHome.aspx");
            Response.Redirect("HomePage.aspx");
        }
    }    
}
我的web.config文件如下所示:

<system.web>
  <authorization>
    <deny users="?" />
  </authorization>
但行
再次出现问题。在我添加这一行之后,在我的主页中,IDE给了我一个警告,第一行以
开头,这将是一个运行时错误

我使用的
HttpContext.Current.User.Identity.Name也不起作用。
我只是想在项目的不同部分获取经过身份验证的用户的名称。因此,如果有必要,我可以改变逻辑。
任何帮助都将不胜感激

编辑:我正在使用Windows7(64位)上的VisualWebdevepoler2008Express


编辑2:问题以某种方式解决了。答案如下。怎样为什么?难道不能通过程序来完成吗?我不知道,我想知道为什么。

我找到了一个解决方案:首先,我删除了
web.config
文件中的授权标签。然后在解决方案资源管理器窗口中,我单击了
Properties
图标,打开了ASP.NET的配置网页。然后我单击了
安全选项卡->设置身份验证
。我选择了Internet连接选项,现在我可以通过
Page.user.Identity.name
在任何地方访问经过身份验证的用户名。

以下是我找到的解决方案:首先,我删除了
web.config
文件中的授权标记。然后在解决方案资源管理器窗口中,我单击了
Properties
图标,打开了ASP.NET的配置网页。然后我单击了
安全选项卡->设置身份验证
。我选择了Internet连接选项,现在我可以通过
Page.user.Identity.name
anywhere访问经过身份验证的用户名。

user.Identity.name如果在IIS中启用匿名身份验证,则可能为空。这个
User.Identity.IsAuthenticated的结果是什么?这是真的。但是发生了一些非常尴尬的事情,我现在正在更新帖子。因为我的声誉不好,我有两个小时来回答我的问题。在那之前,我编辑了这个问题。我投了你一票,没有意识到2小时规则。不要担心你的问题/疑难解答的质量,除非你的分数提高。如果在IIS中启用匿名身份验证,User.Identity.Name可能为空。这个
User.Identity.IsAuthenticated的结果是什么?这是真的。但是发生了一些非常尴尬的事情,我现在正在更新帖子。因为我的声誉不好,我有两个小时来回答我的问题。在那之前,我编辑了这个问题。我投了你一票,没有意识到2小时规则。不要担心你的问题/疑难解答的质量,除非你的分数提高。
<authentication mode="Forms">
    <forms loginUrl="~/login.aspx" timeout="10" protection="All"></forms>
</authentication>