获取User.Identity是在ASP.NET 4.5中使用FormsAuthentication的表单

获取User.Identity是在ASP.NET 4.5中使用FormsAuthentication的表单,asp.net,forms-authentication,Asp.net,Forms Authentication,我正在当前的web应用程序中使用FormAuthencation和ASP.NET 4.5。我已经在登录页面上做了一个检查,如果(User.Identity.IsAuthenticated){}然后重定向到主页,但是奇怪的没有甚至登录我都得到了User.Identity.IsAuthenticated=true我不明白为什么会给出true Web.Config <authentication mode="Forms"> <forms loginUrl="~/Accou

我正在当前的web应用程序中使用FormAuthencation和ASP.NET 4.5。我已经在登录页面
上做了一个检查,如果(User.Identity.IsAuthenticated){}
然后重定向到主页,但是奇怪的没有甚至登录我都得到了
User.Identity.IsAuthenticated=true
我不明白为什么会给出true

Web.Config

<authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" name=".ASPNETAUTH" defaultUrl="~/Account/Welcome.aspx" protection="All" timeout="30" path="/"></forms>
    </authentication>

谢谢
Ravi Mittal

如果这是在IIS中发布的,您需要禁用通过IIS的匿名访问(您可以看到如何做到这一点)

这也有助于确保web.config的

<authorization>
    <deny users="?"/>
</authorization>


这将阻止“未经授权”的用户访问您的应用程序。

您能否显示您的登录代码,甚至可以在web配置中显示?听起来您可能没有拒绝未经身份验证的用户。出现这种情况的原因有多种。您的web配置部分是什么样子的?特别是授权部分?浏览器还可以缓存以前的授权cookie。Name属性是否已填充?我已更新问题。您能否指定您使用的是ASP.NET MVC还是ASP.NET Web表单?表单身份验证在MVC中的行为与在Web上的不同Forms@AgustinCoder:表单身份验证在web表单和mvc中的行为没有区别。事实上,如果真是这样的话,会让人非常困惑。