权限设置(飞机订票系统案例)

本文介绍了两种权限设置方法,适用于飞机订票系统。第一种方法是在页面上通过JavaScript获取并判断用户权限,移除无权访问的菜单。第二种方法是使用过滤器在控制器执行前检查权限,提高安全性。每种方法都有其优缺点,需根据项目需求选择。
摘要由CSDN通过智能技术生成

权限设置(飞机订票系统案例)

第一种方法、(页面)

缺点:没有办法阻止用户通过网页地址(页面路径)进入某页面

1.在主页面上写一个方法(主页面—其他页面的根页面,通过主页面跳转)

function JurisdictionMenu()

2.获取页面上全部菜单

var dirIdModlarName = {

                "PNR": "PNR",

                "电子票证": "ELectromicTicket",

                 …………}

3.发送提交请求

$.post("/Main/SelectModularJurisdiction", { time: (new Date()).getTime().toString() }, function (objModulars) {}

4.判断

    if (objModulars == "") {

              window.location.href = "/";

            } else {

                 for (key in objModulars) {

                     var obj = objModulars[key];

                     if (obj.ID == 0) {

                         var modularName = obj.ModularName;

                         var elId = dirIdModlarName[modularName];

                         console.log(elId);

                         $("#" + elId).remove();//去掉没有的权限对应的菜单

                        }

                    }

                }

5.回到控制器接收请求

public ActionResult SelectModularJurisdiction()

6.判断

if (Session["userID"] != null)  //与登录时所保存的名称(大小写)一致 Session["userID"] = dbUser.userID;

6.读取权限信息(查询权限)

var temModulars = from tabPermission in myModel.S_Permission

                  join tabModule in myModel.S_Module

                  on tabPermission.moduleID equals tabModule.moduleID

                  join tabUser in myModel.S_User

                  on tabPermission.UserTypeID equals tabUser.userTypeID

                  where tabUser.userID == userId && tabModule.blFun == false

                  select new

                  {

                         ID = tabModule.moduleID,//模块ID

                         Name = tabModule.moduleDescrible.Trim() //模块描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值