


asp.net BasePage classe Session contrôle général des autorisations de connexion de l'utilisateur
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
Plus de classe asp.net BasePage Session générale utilisateurs Pour les articles liés au contrôle des autorisations de connexion, veuillez faire attention au site Web PHP chinois !

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Cet article explore les défis des déréférences du pointeur nul dans C. Il soutient que le problème n'est pas nul lui-même, mais son utilisation abusive. L'article détaille les meilleures pratiques pour prévenir les déréférences, y compris les contrôles de pré-déréférence, le pointeur initiali

Cet article guide les débutants sur le choix d'un compilateur C. Il fait valoir que le CCG, en raison de sa facilité d'utilisation, de sa large disponibilité et de ses vastes ressources, est la meilleure pour les débutants. Cependant, il compare également GCC, Clang, MSVC et TCC, mettant en évidence leur différenciation

Cet article explique comment créer de nouvelles caractères en C en C en utilisant la séquence \ n Escape dans printf et met des fonctions. Il détaille les fonctionnalités et fournit des exemples de code démontrant son utilisation pour les ruptures de ligne en sortie.

Cet article met l'accent sur l'importance continue de Null dans la programmation C moderne. Malgré les progrès, NULL reste crucial pour la gestion explicite du pointeur, empêchant les défauts de segmentation en marquant l'absence d'une adresse mémoire valide. Meilleur prac

Cet article passe en revue les compilateurs C en ligne pour les débutants, en se concentrant sur la facilité d'utilisation et les capacités de débogage. Onlinegdb et Rep.Il sont mis en évidence pour leurs interfaces conviviales et leurs outils de débogage utiles. Autres options comme Programiz et Compil

Cet article compare les plateformes de programmation C en ligne, mettant en évidence les différences de fonctionnalités telles que les outils de débogage, les fonctionnalités IDE, la conformité standard et les limites de mémoire / d'exécution. Il soutient que la "meilleure" plate-forme dépend des besoins des utilisateurs,

Cet article traite de la copie de code efficace dans les Cides. Il souligne que la copie est une fonction IDE, pas une fonctionnalité de compilateur, et détaille des stratégies pour une efficacité améliorée, y compris l'utilisation d'outils de sélection IDE, le pliage de code, la recherche / remplacer, Templa

Cet article dépanne les fenêtres de sortie manquantes dans la compilation du programme C. Il examine des causes telles que le non-exécution de l'exécutable, des erreurs de programme, des paramètres de compilateur incorrects, des processus de fond et une terminaison rapide du programme. Les solutions impliquent ch
