访问权限控制模块(一)

本文介绍了访问权限控制的两种方法,重点关注方法一。通过用户ID,进行多表联查,包括用户表、用户角色明细表、权限表和模块明细表,最终在前端使用JavaScript隐藏并显示相应模块。示例代码展示了如何隐藏并显示模块,如分类训练、实战模拟等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发工具与关键技术: Visual Studio    权限模块
作者:黎凤焕
撰写时间:2019年  6 月  17 日
   权限是一个项目必不可少的一部分,不可忽略的模块,做出来的项目,很多情况不同角色的人物所看到的,所操作的模块各有不同,所以做项目的时候,往往会有权限这个模块,权限的功能是实现不同人操作的模块,看到的内容不同,角色不同所看到的内容就不同,模块权限设置有两个方法,首先设置模块权限,获取用户ID,第一个方法是先隐藏,后显示,第二个方式是删除没有的。

$(function () {
//模块权限设置
var UserID = @Session[“UserID”];//获取用户ID
//方法一(先隐藏,后显示)。
//JurisdictionMenuOne(UserID);
//方法二(删除没有的)。
JurisdictionMenuTwo();
});
下面了解第一个方法,首先在控制器上通过用户ID,查询用户表,进行多表查询,先查询用户表, 用户角色明细表,权限表,模块明细表,最后查询模块表,然后获取模块ID,获取模块。通过getJson提交的方法提交,先隐藏模块,再显示,先把项目里面的模块一一列出来进行隐藏。

//模块权限查询 By 用户ID 方法一
public ActionResult MoKuaiQuanXianSelect(int UserId)
{
var caozuoid = (from tdUser in myEntities.PW_User
join tdUserRoleDetail in myEntities.PW_UserRoleDetail on tdUser.UserID equals tdUserRoleDetail.UserID
join tdJurisdiction in myEntities.PW_Jurisdiction on tdUserRoleDetail.UserTypeID equals tdJurisdiction.UserTypeID
join tdModularDetail in myEntities.SYS_ModularDetail on tdJurisdiction.ModularDetailID equals tdModularDetail.ModularDetailID

                        join tdModular in myEntities.SYS_Modular on tdModularDetail.ModularID equals tdModular.ModularID

                        where tdUser.UserID == UserId
                        select new
                        {
                            ID = tdModularDetail.ModularID,//获取模块ID
                            Name = tdModular.ModularName.Trim()//获取模块(菜单)
                        }).ToList();

        return Json(caozuoid, JsonRequestBehavior.AllowGet);
    }

//一、方法一(先隐藏,后显示)。
function JurisdictionMenuOne(UserID) {
$.getJSON("/Main/MoKuaiQuanXianSelect?UserId=" + UserID + “&time=” + (new Date()).getTime(), function (data) {
//先隐藏全部模块
$("#ClassifiedTraining").hide(); //分类训练
$("#SimulationExercise").hide(); //实战模拟
$("#test").hide(); //实战测试
$("#HistoryAnswer").hide(); //查看历史答卷

                $.each(data, function (i) {
                    switch (data[i].Name) {
                        case "分类训练":
                            $("#ClassifiedTraining").show();
                            break;
                        case "实战模拟":
                            $("#SimulationExercise").show();
                            break;
                        case "实战测试":
                            $("#test").show();
                            break;
                        case "查看历史答卷":
                            $("#HistoryAnswer").show();
                            break; 
                    }
                });
            });
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值