zoukankan      html  css  js  c++  java
  • NFine中权限判断出错的问题

    NFine中权限判断出错的问题

    问题描述:登录后点击栏目一,弹出了窗口一,再点击栏目二,弹出了窗口二,然后再点击窗口一,再执行窗口一中的操作时,发现已没有任何权限,调试后发现在HandlerAuthorizeAttribute这个类中

    1   private bool ActionAuthorize(ActionExecutingContext filterContext)
    2         {
    3             var operatorProvider = OperatorProvider.Provider.GetCurrent();
    4             var roleId = operatorProvider.RoleId;
    5             var moduleId = WebHelper.GetCookie("nfine_currentmoduleid");
    6             var action = HttpContext.Current.Request.ServerVariables["SCRIPT_NAME"].ToString();
    7             return new RoleAuthorizeApp().ActionValidate(roleId, moduleId, action);
    8         }

    moduleId这个值取的不对,又转到前台indextab.js中

     addTab: function () {
                $("#header-nav>ul>li.open").removeClass("open");
                var dataId = $(this).attr(‘data-id‘);
                if (dataId != "") {
                    top.$.cookie(‘nfine_currentmoduleid‘, dataId, { path: "/" });
                }
                var dataUrl = $(this).attr(‘href‘);
                var menuName = $.trim($(this).text());
                var flag = true;

    发现在这里对cookie(‘nfine_currentmoduleid‘)赋值,接着查看点击窗口选项卡的事件

      activeTab: function () {
                var currentId = $(this).data(‘id‘);
                if (!$(this).hasClass(‘active‘)) {
                    $(‘.mainContent .NFine_iframe‘).each(function () {
                        if ($(this).data(‘id‘) == currentId) {
                            $(this).show().siblings(‘.NFine_iframe‘).hide();
                            return false;
                        }
                    });
                    $(this).addClass(‘active‘).siblings(‘.menuTab‘).removeClass(‘active‘);
                    $.nfinetab.scrollToTab(this);
                }
            },

    发现并没有对cookie的赋值操作,所以找到了问题所在,但是如何传递该参数,尝试后的解决办法是回到addTab方法中

     addTab: function () {
                $("#header-nav>ul>li.open").removeClass("open");
                var dataId = $(this).attr(‘data-id‘);
                if (dataId != "") {
                    top.$.cookie(‘nfine_currentmoduleid‘, dataId, { path: "/" });
                }
                var dataUrl = $(this).attr(‘href‘);
                var menuName = $.trim($(this).text());
                var flag = true;
                if (dataUrl == undefined || $.trim(dataUrl).length == 0) {
                    return false;
                }
                $(‘.menuTab‘).each(function () {
                    if ($(this).data(‘id‘) == dataUrl) {
                        if (!$(this).hasClass(‘active‘)) {
                            $(this).addClass(‘active‘).siblings(‘.menuTab‘).removeClass(‘active‘);
                            $.nfinetab.scrollToTab(this);
                            $(‘.mainContent .NFine_iframe‘).each(function () {
                                if ($(this).data(‘id‘) == dataUrl) {
                                    $(this).show().siblings(‘.NFine_iframe‘).hide();
                                    return false;
                                }
                            });
                        }
                        flag = false;
                        return false;
                    }
                });
                if (flag) {
                    var str = ‘<a href="javascript:;" class="active menuTab" data-id="‘ + dataUrl + ‘" data-realid="‘ + dataId + ‘">‘ + menuName + ‘ <i class="fa fa-remove"></i></a>‘;
                    $(‘.menuTab‘).removeClass(‘active‘);
                    var str1 = ‘<iframe class="NFine_iframe" id="iframe‘ + dataId + ‘" name="iframe‘ + dataId + ‘"  width="100%" height="100%" src="‘ + dataUrl + ‘" frameborder="0" data-id="‘ + dataUrl + ‘" seamless></iframe>‘;
                    $(‘.mainContent‘).find(‘iframe.NFine_iframe‘).hide();
                    $(‘.mainContent‘).append(str1);
                    $.loading(true);
                    $(‘.mainContent iframe:visible‘).load(function () {
                        $.loading(false);
                    });
                    $(‘.menuTabs .page-tabs-content‘).append(str);
                    $.nfinetab.scrollToTab($(‘.menuTab.active‘));
                }
                return false;
            },

    在新建Tab的时候,增加一个参数 data-realid,再回到激活事件中,直接为cookie赋值就大功告成了。

     activeTab: function () {
                var currentId = $(this).data(‘id‘);
                if (!$(this).hasClass(‘active‘)) {
                    top.$.cookie(‘nfine_currentmoduleid‘, $(this).data(‘realid‘), { path: "/" });
                    $(‘.mainContent .NFine_iframe‘).each(function () {
                        if ($(this).data(‘id‘) == currentId) {
                            $(this).show().siblings(‘.NFine_iframe‘).hide();
                            return false;
                        }
                    });
                    $(this).addClass(‘active‘).siblings(‘.menuTab‘).removeClass(‘active‘);
                    $.nfinetab.scrollToTab(this);
                }
            },
  • 相关阅读:
    上标<sup>与下标<sub>
    Java7基础教程 Jay Bryant著 李鹏 韩智译
    Error:Could not find com.android.tools.build:gradle:2.14.1.
    nginx-rtmp-module安装笔记
    Page Scroll using Selenium WebDriver
    个人家庭宽带搭建多域名web网站服务器配置
    phpmyadmin mysql Access denied for user 'root'@'localhost'问题解决
    sizeWithFont 取消后
    根据size截取图片中间矩形区域的图片 这里的size是正方形
    给UIImageView添加点击事件
  • 原文地址:https://www.cnblogs.com/bayu/p/7646910.html
Copyright © 2011-2022 走看看