我是 ASP.NET 的新手,现在一直在尝试解决这个问题。
我遇到了这个博客,一切看起来都很好,除了一件事:HttpContext.Current.User.Identity is FormsIdentity
在这个代码片段中,下面的代码总是评估为 false:
protected void Application_AuthenticateRequest(Object sender,
EventArgs e)
{
if (HttpContext.Current.User != null)
{
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
FormsIdentity id =
(FormsIdentity)HttpContext.Current.User.Identity;
FormsAuthenticationTicket ticket = id.Ticket;
// Get the stored user-data, in this case, our roles
string userData = ticket.UserData;
string[] roles = userData.Split(',');
HttpContext.Current.User = new GenericPrincipal(id, roles);
}
}
}
}
当我使用断点时,我的 PC 名称是当前用户,我认为它不是FormsIdentity
.
网络配置:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
</configuration>
我在这里想念什么?成功登录后如何判断HttpContext
当前用户?