当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net BasePage类+Session通用用户登录权限控制

asp.net BasePage类+Session通用用户登录权限控制

2017年12月12日  | 移动技术网IT编程  | 我要评论

魔装型罗恩格林,爱情动作片网站你懂的,建材价格走势图

但是很多人都喜欢在
复制代码 代码如下:

protected void page_load(object sender, eventargs e)
{}

里面来写代码,甚至在某些按钮里面写判断session是否存在~~
这样当然是能实现效果的,问题就在,如果有1000个页面~~你需ctrl+c。。。ctrl+v 很多次~~~
我的思路就是写一个basepage类继承 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));
}}

为什么我这里要带 page 参数,就是为了在登录成功以后可以返回到登录前的那一个页面
另外我也贡献一个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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网