Asp.Net 继承System.Web.UI.Page实现权限检测

来源:互联网 发布:windows日程提醒软件 编辑:程序博客网 时间:2024/05/17 02:51

这里我们只是介绍简单的权限控制,不会涉及到类似MIS权限系统。

 

首先建一个PageBase类,在该类中重写OnInit,并建一个虚函数:CheckUserRoles 用于特殊权限的需求

public class PageBase:System.Web.UI.Page
{
    /// <summary>
    /// 用户ID
    /// </summary>
    protected int UserID;
    /// <summary>
    /// 用户名
    /// </summary>
    protected string UserName;

    public PageBase()
    {
        //
        //TODO: 在此处添加构造函数逻辑
        //
    }

    protected override void OnInit(EventArgs e)
    {
        if(Session["ID"]==null){
            Response.Redirect("../login.aspx");
            Response.End();
            return;
        }
        Int32.TryParse(Session["ID"].ToString(), out UserID);
        if (UserID == 0) {
            Response.Redirect("../login.aspx");
            Response.End();
            return;
        }
        UserName = Session["UserName"].ToString();
        Roles = Convert.ToInt32(Session["Roles"]);

        //检查用户角色
        CheckUserRoles();

        base.OnInit(e);
    }

    /// <summary>
    /// 检查用户角色 用于特殊权限检测
    /// </summary>
    protected virtual void CheckUserRoles() {
       
    }
}

 

示例:

public partial class _Index :PageBase

{

 protected override void CheckUserRoles()
    {
         //特殊权限检测

        base.CheckUserRoles();
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    

   }

}


本篇文章来源于 www.shenjk.com 原文链接:http://www.shenjk.com/details/432.html

原创粉丝点击