zoukankan      html  css  js  c++  java
  • .net 后台权限管理

    1。  在数据库中要创建权限的字段

    2。 添加用户时

      

           <div class="am-cf am-padding">
                            <div class="am-fl am-cf">
                                <strong class="am-text-primary am-text-lg">运营商</strong> / <small>分配权限</small></div>
                        </div>
                        <div class="admin-content am-padding-left" style="border-bottom: 1px solid #CCC">
                            <span>请勾选权限信息</span>
                        </div>
                        <div class="am-margin-top am-padding-top">
                            <div class="am-padding-left">
                                <input type="checkbox" name="QX" value="系统管理" />
                                <span class=" am-padding-right"><strong>系统管理</strong></span>
                            </div>
                            <div class="am-g am-margin-top">
                                <div class=" am-u-sm-12 am-u-md-3">
                                    <input type="checkbox" name="QX" value="供应商管理" />
                                    <span>供应商管理   </span>
                                </div>
                                <div class=" am-u-sm-12 am-u-md-9">
                                    <input type="checkbox" name="QX" value="超市管理" />
                                    <span>超市管理   </span>
                                </div>
                            </div>
                        </div>

    每一个input 标签代表一个权限。 input 里面要写统一的name值。 和对应的value

      

        <script type="text/javascript">
            $(function () {
                $('input[name="QX"]').click(function (event) {
                    $(this).parent().parent().siblings(".am-padding-left").find("input").attr("checked", true); //选二级分类1级分类默认选中
                    var One = $(this).parent().siblings(".am-g").find("input"); //选1级分类所有二级分类默认选中
                    if ($(this).is(':checked')) {
                        $(One).each(function () {
                            $(this).attr("checked", true);
                        });
                    }
                    else {
                        $(One).each(function () {
                            $(this).attr("checked", false);
                        });
                    }
                });
    
            })
        </script>
    

      

     点击添加按钮后 后台获取所选择的权限

         argValue = Request.Form["QX"];

     获取到后添加到数据库中。

    ***********************************************************************

    当用户使用添加后的账户登录到后台时。 需判断已有权限。根据对应的权限去显示菜单。

      

    <script type="text/javascript">
            $(function () {
                $(".qx").hide(); // 先隐藏所有菜单。
                $.ajax({
                    type: "post",
                    url: "ashx/qx.ashx",
                    dataType: "text",
                    success: function (data) {
                        var json = eval('(' + data + ')');
                        if (json.isSuccess == "true") {
                            var qx = $(".qx");
                            var myqx = json.qx;
                            $(qx).each(function () {
                                if (myqx.indexOf($(this).attr("data-id")) >= 0) {
                                    $(this).show();  //有这个权限对应的菜单就显示
                                }
                            });
    
                        }
                        else {
                        }
                    }
                });
            })
    
        </script>

    ---->  json.qx就是从数据库中获取的权限的字段值
     

     这里是首页上的左侧菜单。 每一个菜单选项都要添加class 及对应的data-id.  以供上面的js 调取。

       我用的这个方法有点假, 知道用浏览器控制台的人都控制不了他的权限, 不过客户是没那么聪明的。 所以先这样凑合用着, 毕竟这样做起来很快,很方便。

    ********************************** 修改权限的js

    <script type="text/javascript">
            $(function () {
                $('input[name="QX"]').click(function (event) {
                    $(this).parent().parent().siblings(".am-padding-left").find("input").attr("checked", true);
    
                    var One = $(this).parent().siblings(".am-g").find("input"); //选1级分类所有二级分类默认选中
                    if ($(this).is(':checked')) {
                        $(One).each(function () {
                            $(this).attr("checked", true);
                        });
                    }
                    else {
                        $(One).each(function () {
                            $(this).attr("checked", false);
                        });
                    }
                });
                var id = getParam("uid");
                $.ajax({
                    type: "post",
                    url: "/Admin/ashx/areaqx.ashx",
                    data: { id: id },
                    dataType: "text",
                    success: function (data) {
                        var json = eval('(' + data + ')');
                        if (json.isSuccess == "true") {
                            var myqx = json.qx;
                            $('input[name="QX"]').each(function () {
                                if (myqx.indexOf($(this).val()) >= 0) {
                                    $(this).attr("checked", true);
                                }
    
                            });
                        }
                        else {
                        }
                    }
                });
            })
    
        </script>

    如果你用的jq 版本过低的话。 需要使用
      $(this).prop("checked", true);


    http://www.cnblogs.com/mchuang/p/5852241.html
     
  • 相关阅读:
    python中对一个列表进行乱序
    GPU比CPU慢?可能模型太简单
    VLAN之间单臂路由通信
    数据结构_顺序栈的代码实践
    MarkDown语法学习
    【转载】给想要入门渗透的人的忠告——schiz0wcingU
    SQL注入原理及绕过安全狗
    Python学习---字符串处理
    【转载】RAID写惩罚(Write Penalty)与IOPS计算
    Kali安装使用文泉驿字体
  • 原文地址:https://www.cnblogs.com/mchuang/p/5856624.html
Copyright © 2011-2022 走看看