ASP.NET MVC实现权限管理以及权限分配「建议收藏」

ASP.NET MVC实现权限管理以及权限分配「建议收藏」权限管理与分配至少要有三张表然而往往难住我们的并不是数据库的设计而是后台的实现 //查询用户所具有的权限    publicListGetprenisson(intuserid){      ptestEntitiespst=newptestEntities();          stringsql

大家好,又见面了,我是你们的朋友全栈君。

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

  • 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);
        
        }
   从视图里获取数据库的数据库  解析父级与子级


ASP.NET MVC实现权限管理以及权限分配「建议收藏」

   //查询该项目中所有的权限
        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实现权限管理以及权限分配「建议收藏」





  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162903.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python wxPython基本教程「建议收藏」

    Python wxPython基本教程「建议收藏」PythonwxPython在资源上比较小,而且官方文档也不好找,wxPython在python2.x和python3.x安装上有区别:以下为python3.x安装为例:1.网上下载whl文件安装:路径:https://wxpython.org/Phoenix/snapshot-builds/文件名解释:wxPython_Phoenix-3.0.3.dev2812+b3485d4-c…

    2022年5月21日
    33
  • 百度地图API显示多个标注点并添加百度样式检索窗口

    百度地图API显示多个标注点并添加百度样式检索窗口

    2021年10月10日
    103
  • Tree命令的下载与使用「建议收藏」

    Tree命令的下载与使用「建议收藏」**Tree命令的下载与使用**前言作为一名Linux小白,今天第一次发博客,决定把我今天下载Linux中tree命令的过程记录下来,先来讲一讲我是怎么碰见tree这个命令的吧,今日看书时,无意中翻到tree这个命令得知这个命令可以以树状图列出目录结构,于是我便创建了一个名为aaa的文件夹和一个叫123的文件,并且复制了123文件(123复件),将123文件和123复件移进aaa文件夹,在…

    2022年7月24日
    38
  • (一)什么是流程引擎?为什么学习流程引擎?

    activity(流程引擎)从零入门到实战学习欢迎使用Markdown编辑器1.什么是流程引擎?2.为什么需要学习流程引擎?3.为什么选择activiti?功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编

    2022年4月5日
    244
  • 网页制作实验步骤_web简易开发

    网页制作实验步骤_web简易开发web实验2制作简单网页(HTML+CSS)一、实验目的1.掌握文本样式的设置。2.掌握图像样式的设置。3.掌握各种媒体的插入方法。二、实验内容采用DIV+CSS,制作“在线电影”页面。三、操作提示1.新建网站的文件夹,网站图像素材保存在images文件夹中,媒体文件放在flash文件中。2.新建index.html页面,要求: 页面字体大小为14px,文本颜色为#000; 页面背景颜色为#edb8d2; 上下左右距均为0。3.利用div布局,宽度为900px,居中对齐。

    2022年10月13日
    4
  • pycharm如何统一改变量名_pycharm批量修改变量名

    pycharm如何统一改变量名_pycharm批量修改变量名在使用文字工具写小说的时候,如果你想改变主人公的姓名,可以通过快捷方式一键全改,而不用逐个更改。那么在用pycharm编辑代码的时候,该如何将代码中的变量名称进行一键更改呢?按快捷键Ctrl+r,弹出以下页面,在这个页面中我标出了两个红框。左边红框中有两个输入栏,上面的是你的原变量名,下面是你要改为的新变量名;将原变量名和新变量名输入之后,去右边的边框中选择局部替换还是全部替换即可。…

    2022年8月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号