今天看到书本上一段代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
if (!Page.IsPostBack)
{
//网站域名或虚拟目录
string virtualPath = ConfigurationManager.AppSettings.Get("VirtualPath");
//登录页地址
string loginPage = ConfigurationManager.AppSettings.Get("LoginPage");
if (Context.User.Identity.IsAuthenticated)
{
AccountsPrincipal user = new AccountsPrincipal(Context.User.Identity.Name);
if (Session["UserInfo"] == null)
{
LTP.Accounts.Bus.User currentUser = new LTP.Accounts.Bus.User(user);
Session["UserInfo"] = currentUser;
Session["Style"] = currentUser.Style;
Response.Write("<script defer>location.reload();</script>");
}
if ((PermissionID != -1) && (!user.HasPermissionID(PermissionID)))
{
Response.Clear();
Response.Write("<script defer>window.alert('您没有权限进入本页!\\n请重新登录或与管理员联系');history.back();</script>");
Response.End();
}
}
else
{
FormsAuthentication.SignOut();
Session.Clear();
Session.Abandon();
Response.Clear();
Response.Write("<script defer>window.alert('您没有权限进入本页或当前登录用户已过期!\\n请重新登录或与管理员联系!');parent.location='" + virtualPath + "/" + loginPage + "';</script>");
Response.End();
}
}
}
#endregion
这里有疑问,既然上面else的IsAuthenticated等于false,就是在登出的状态,为什么作者还要FormsAuthentication.SignOut()登出呢,求解答
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
if (!Page.IsPostBack)
{
//网站域名或虚拟目录
string virtualPath = ConfigurationManager.AppSettings.Get("VirtualPath");
//登录页地址
string loginPage = ConfigurationManager.AppSettings.Get("LoginPage");
if (Context.User.Identity.IsAuthenticated)
{
AccountsPrincipal user = new AccountsPrincipal(Context.User.Identity.Name);
if (Session["UserInfo"] == null)
{
LTP.Accounts.Bus.User currentUser = new LTP.Accounts.Bus.User(user);
Session["UserInfo"] = currentUser;
Session["Style"] = currentUser.Style;
Response.Write("<script defer>location.reload();</script>");
}
if ((PermissionID != -1) && (!user.HasPermissionID(PermissionID)))
{
Response.Clear();
Response.Write("<script defer>window.alert('您没有权限进入本页!\\n请重新登录或与管理员联系');history.back();</script>");
Response.End();
}
}
else
{
FormsAuthentication.SignOut();
Session.Clear();
Session.Abandon();
Response.Clear();
Response.Write("<script defer>window.alert('您没有权限进入本页或当前登录用户已过期!\\n请重新登录或与管理员联系!');parent.location='" + virtualPath + "/" + loginPage + "';</script>");
Response.End();
}
}
}
#endregion
这里有疑问,既然上面else的IsAuthenticated等于false,就是在登出的状态,为什么作者还要FormsAuthentication.SignOut()登出呢,求解答
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货