NFine中权限判断出错的问题
NFine中权限判断出错的问题
问题描述:登录后点击栏目一,弹出了窗口一,再点击栏目二,弹出了窗口二,然后再点击窗口一,再执行窗口一中的操作时,发现已没有任何权限,调试后发现在HandlerAuthorizeAttribute这个类中
private bool ActionAuthorize(ActionExecutingContext filterContext)
{
var operatorProvider = OperatorProvider.Provider.GetCurrent();
var roleId = operatorProvider.RoleId;
var moduleId = WebHelper.GetCookie("nfine_currentmoduleid");
var action = HttpContext.Current.Request.ServerVariables["SCRIPT_NAME"].ToString();
return new RoleAuthorizeApp().ActionValidate(roleId, moduleId, action);
}
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);
}
},
NFine中权限判断出错的问题的更多相关文章
- android应用中增加权限判断
android6.0系统允许用户管理应用权限,可以关闭/打开权限. 所以需要在APP中增加权限判断,以免用户关闭相应权限后,APP运行异常. 以MMS为例,在系统设置——应用——MMS——权限——&g ...
- spring boot+freemarker+spring security标签权限判断
spring boot+freemarker+spring security标签权限判断 SpringBoot+SpringSecurity+Freemarker项目中在页面上使用security标签 ...
- 【ASP.NET】ASP.NET中权限验证使用OnAuthorization实现
在项目开发中,通常我们都会涉及到用户登录才能访问的网页,比如购物网站,我们浏览商品,添加购物车(以前开发的时候在这里就需要登录用户,但是现在有了缓存的实现,这里可以将商品加入缓存,等到结账的时候再登录 ...
- 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程
简述C#中IO的应用 在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...
- Asp.net 基于Cookie简易的权限判断
基于Cookie简易的权限判断代码,需要的朋友可以参考下. 写入Cookie页面,创建cookie后,设置cookie属性,并添加到Response.Cookies中读取cookie,利用cookie ...
- 修改struts2自定义标签的源代码,在原有基础上增加功能(用于OA项目权限判断,是否显示某个权限)
OA项目在做权限判断时 原始方式: 现在完成的功能 :通过改变struts2自定标签源代码 在原有的基础上 增加判断权限的功能 而页面上使用标签的方式 还是下图 步骤: 打开文件 搜索< ...
- iOS 权限判断 跳转对应设置界面
相机权限 1.1 使用说明 在合适的地方导入#import <AVFoundation/AVFoundation.h> 使用AVAuthorizationStatus类获取当前权限状态 在 ...
- axios实现类似form传值的格式,以及实现拦截器功能,response拦截实现权限判断
import axios from 'axios' import Qs from 'qs' // 超时设置 const service = axios.create({ transformReques ...
- 【跟着子迟品 underscore】JavaScript 中如何判断两个元素是否 "相同"
Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...
随机推荐
- RoR - Advanced Querying
Seeding the Database: db/seed.rb 可以提供预设data rake db:seed #seeds.rb Person.create! [ {first_name : &q ...
- MSMQ 跨服务器读写队列的“消息队列系统的访问被拒绝”的解决方案
转自https://www.cnblogs.com/jyz/articles/4612333.html 最近项目中需要跨服务器对消息队列进行读写,开始在单独开发机器上进行Queue的读写没问题.但是部 ...
- Ubuntu虚拟机识别不了SD卡的解决办法
前提,你的虚拟机已经安装了VMware Tools. Step 1: 出现这种情况先查看计算机中的虚拟机的VMware USB Arbitration Service是否启用(注意是VMware US ...
- servlet-servlet的简单认识——源码解析
Servlet的基本认识 本内容主要来源于<看透Spring MVC源码分析与实践——韩路彪>一书 Servlet是server+Applet的缩写,表示一个服务器的应用.Servlet其 ...
- Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处
以前用eclipse的时候,可以根据所抛出的异常进行调试,比如:出现了空指针异常,我想知道是哪一行抛出的,在eclipse中我只需在debug模式下把空指针异常这个名字设置进去,当遇到空指针异常时,e ...
- centos7.5图形界面与命令行界面转换
查看当前状态下的显示模式: # systemctl get-default 转换为图形界面: # systemctl set-default graphical.target 转换为命令行界面: # ...
- 揭开yield关键字的神秘面纱
写在前言 经常会看见,python函数中带有yield关键字,那么yield是什么,有什么作用? 答案:可以理解yield是一个生成器: 作用:遇到yield关键字,函数会直接返回yield值,相当于 ...
- SPP空间金字塔池化技术的直观理解
空间金字塔池化技术, 厉害之处,在于使得我们构建的网络,可以输入任意大小的图片,不需要经过裁剪缩放等操作. 是后续许多金字塔技术(psp,aspp等)的起源,主要的目的都是为了获取场景语境信息,获取上 ...
- Java基础(认识Java)
我们要学习Java那么就要首先认识一下Java: Java是什么 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James ...
- C#-----类FileStream的使用
1.枚举类FileMode 指定操作系统打开文件的方式 CreateNew 指定操作系统应创建一个新的文件 Create 指定操作系统应创建一个新的文件. 如果该文件已存在,则会覆盖它 Open ...