.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
 
原文地址:https://www.cnblogs.com/mchuang/p/5856624.html