Maison  >  Article  >  développement back-end  >  asp.net BasePage classe Session contrôle général des autorisations de connexion de l'utilisateur

asp.net BasePage classe Session contrôle général des autorisations de connexion de l'utilisateur

高洛峰
高洛峰original
2017-01-12 14:03:101131parcourir

Mais beaucoup de gens aiment écrire du code dans

protected void Page_Load(object sender, EventArgs e) 
{}

, ou même écrire du code dans certains boutons pour déterminer si la session existe~~
Bien sûr, cela peut produire l'effet, le problème est , s'il y a 1000 pages ~~ vous avez besoin de ctrl C. . . Ctrl V plusieurs fois~~~
Mon idée est d'écrire une classe BasePage qui hérite de System.Web.UI.Page

public class BasePage : System.Web.UI.Page 
{ 
//pageunload事件,并不是指浏览器关闭,而是指页面关闭,所以刷新的时候,依然会执行以下事件 
protected void Page_Unload(object sender, EventArgs e) 
{ 
} 
protected override void OnPreInit(EventArgs e) 
{ 
base.OnPreInit(e); 
if (!SessionData.IsLogin()) 
{//这里写 跳转到登陆页面:例如: 
Response.Redirect(string.Format("~/ReLogin.aspx?Page={0}", Request.Path)); 
}}

Pourquoi dois-je amener le paramètre Page ici, juste pour que Je peux revenir à la page avant de me connecter
De plus, j'ai également contribué à une classe SessionData :

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using ExpressPlatform.Common; 
namespace ExpressPlatform.Web.AppCode 
{ 
public class SessionKey 
{ 
public const string UserInfo = "user"; 
} 
/// <summary> 
/// 所有session中的数据,在该类管理 
/// </summary> 
public class SessionData 
{ 
/// <summary> 
/// 获取session 中的 用户信息 
/// </summary> 
/// <returns></returns> 
public static MdlSessionCustomerInfo GetUserInfo() 
{ 
MdlSessionCustomerInfo userInfo = SessionManager<MdlSessionCustomerInfo>.GetSessionObject(SessionKey.UserInfo); 
if (userInfo == null) 
{ 
userInfo = new MdlSessionCustomerInfo(); 
//把内容储存到应用程序 
SessionManager<MdlSessionCustomerInfo>.SetSessionObject(SessionKey.UserInfo, userInfo); 
} 
return userInfo; 
} 
/// <summary> 
/// 重新设置session 中的用户信息 
/// </summary> 
/// <param name="userInfo"></param> 
public static void SetUserInfo(MdlSessionCustomerInfo userInfo) 
{ 
SessionManager<MdlSessionCustomerInfo>.SetSessionObject(SessionKey.UserInfo, userInfo); 
} 
/// <summary> 
/// 清楚session中用户信息 
/// </summary> 
public static void ClearUserInfo() 
{ 
SessionManager<MdlSessionCustomerInfo>.SetSessionObject(SessionKey.UserInfo, null); 
} 
/// <summary> 
/// 是否登入 
/// </summary> 
/// <returns></returns> 
public static bool IsLogin() 
{ 
bool ret = false; 
MdlSessionCustomerInfo userInfo = SessionManager<MdlSessionCustomerInfo>.GetSessionObject(SessionKey.UserInfo); 
if (userInfo != null) 
ret = true; 
return ret; 
} 
} 
}
public class BasePage : System.Web.UI.Page

Pour plus d'articles sur le contrôle général des autorisations de connexion des utilisateurs de la classe asp.net BasePage, veuillez faites attention au réseau chinois PHP !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn