ASP.NET MVC实现权限管理以及权限分配

权限管理与分配至少要有三张表

然而 往往难住我们的并不是数据库的设计而是后台的实现

 //查询用户所具有的权限
        public List<prenisson> Getprenisson(int userid) {
            ptestEntities pst = new ptestEntities();
      
            string sql = "select * from  prenisson  where Id in (select   prenissonId from  prenisson_Users where UsersId=@userid)";


            List<prenisson> plist = pst.Database.SqlQuery<prenisson>(sql, new SqlParameter("userid", userid)).ToList();


          return plist;

}


控制器拿到用户id 查询用户所具有的权限


        public JsonResult GetUsero( int userid) {
            UserDAL ud = new UserDAL();


            List<prenisson> plists = ud.Getprenisson(userid);


            return Json(plists);
        
        }
   从视图里获取数据库的数据库  解析父级与子级



   //查询该项目中所有的权限
        public List<prenisson> GetPsson() 
        {
            ptestEntities pst = new ptestEntities();
         List<prenisson> lpist = pst.prenisson.ToList();


           return lpist;
        }
        //保存分配的权限
        public bool SveGet(int userid, List<string> premissid)
        { 
        //先删除原来的权限
            ptestEntities pst = new ptestEntities();
            pst.Database.ExecuteSqlCommand("delete prenisson_Users where UsersId=" + userid + "");

 public void Svopon(int userid,string rempremison) {
            UserDAL ud = new UserDAL();


            //逗号分隔
            List<string> listint = rempremison.Split(',').ToList();
            listint.RemoveAt(listint.Count()-1);


            bool isuccess = ud.SveGet(userid, listint);
        }

做一个下拉列表框

        //下拉列表框改变事件
        $("#user_sel").change(function () {
            var userid = $(this).val();
           
            //发送一个AJaX请求  得到选择用户的权限
            $.ajax({
                url: '/Preniss/GetUsero',
                type: 'post',
                data: { userid: userid },
                success: function (reuslt) {
                    console.log(reuslt);
                    //清空复选框的选中
                    $("#poon_check input[type='checkbox']").prop("checked",false);
                    $("#poon_check input[type='checkbox']").parent().removeClass("checked");
                    //读取用户权限的id
                    // 找到所有的复选框
                    $.each(reuslt, function (index, item) {
                                   
                        $("#poon_check input[type='checkbox'][value=" + item.Id + "]").prop("checked", true);
                 
                        $("#poon_check input[type='checkbox'][value=" + item.Id + "]").parent().addClass("checked");
                        
                    });
                  
                }
            });
        });
        //给保存添加一个点击事件
        $("#sub_but").click(function () {

            //拿到用户id
            var userid = $("#user_sel").val();
            //拿到权限id
            var premiood = "";
            //找到所有选中的复选框0
            $("#poon_check input[type='checkbox']:checked").each(function (index, item) {
                premiood+=$(item).val()+",";
            });
            //添加到数据库实现保存
            $.post('/Preniss/Svopon', { userid: userid, rempremison: premiood }, function () {
                alert("添加成功");
            });
        });

勾选出用户,用户原有的权限已被勾选。只需要在下方权限中勾选中  点击授权  方可被授权。







  

asp.net mvc 通用权限管理系统(响应布局)源码是基于asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技术,采用bootstrap为前台开发展示UI,Web Api主要负责前端的逻辑交互,再结合jQuery Ajax+Web Api进行提交数据请求。 框架特色: 1、为了数据方便读写,语言的成熟性,选择asp.net开发效率更高效率更快; 2、系统架构采用:耦合性低、重用性高、部署快、可维护性高等优点的MVC框架进行搭建; 3、系统配置文件数据采用HttpRuntime.Cache进行缓存,使得程序在运行中效率更高、速度更快; 4、数据库的选型,根据系统的数据规模与需求方的相关要求,综合多方考量,调研多种数据库后选定mysql为系统数据库; 5、运行环境根据功能模块的特点,选型window server2008+IIS,部署更简洁; 6、使用报表导出开源组件NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作; 7、为了兼容更多的浏览器,让用户界面使用更友好。我们选择了响应式布局框架bootstrap; 8、系统报表我们采用了echarts开源软件,并且我们提供了非常炫酷的图形界面,特色是地图,另外还提供了柱状图、折线图、饼图、气泡图及四象限图等; 9、系统采用bootstrap响应式布局,这样面对不同分辨率设备灵活性强能够快捷解决多设备显示适应问题; 10、系统基于ASP.NET(C#) MVC +web api+Bootstrap +Jquery+ MYSQL前端采用响应式布局对页面兼容性显著提高; 系统优势: 代码可以满足大部分开发者的需求,让开发人员能省不少时间 ASP.NET MVC通用角色权限管理系统源码 更新日志: 2020-03-23 更新如下: 1、新增文件上传功能实例,保证文件能够无误上传保存并下载; 2、优化后台系统框架代码,删除以前大项目其它无用功能; 3、新增页面代码JS、css文件的压缩,使得系统运行速度更快; 4、系统登录页面新增验证校验过程,这样到输入验证码时时验证; 5、优化系统加载页面提示数据加载功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值