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 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...
随机推荐
- Cesium调用 WMS 、WMTS 服务
参考文章地址:Cesium调用 ArcGIS Sever 以及 GeoSever 发布的地图服务 cesium测试示例(包括官方的示例)中 arcgis服务都无法访问了 根据原文找到一个在线的可访 ...
- Linux下的文件系统2
2017-03-13 上文针对VFS的基本信息做了介绍,并简单介绍了VFS涉及的几个数据机构,本节结合LInux源码,对各个结构之间的关系进行分析. 一.总体架构图 总体架构图如上图所示,结合进程访问 ...
- vsftp快速搭建ftp服务器
什么是vsftp: vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面.它支持很多其他的 FT ...
- 好的封装 vs 好的复用
好的封装 vs 好的复用好的封装 一个封装相对较好的体现和实现方式如下:内部类的方式来组织代码,不需要外面的类指导我内部的类. 好的复用一个好的复用的体现和实现方式如下:可以通过搭积木的方式来组织功能 ...
- JMeter-标的上架调整与完成
问题:利随本青,按日的返回的参数不正确 各种计息方式的上标,新做产品的上架 散标各种计息方式的上架,新做产品的上架 修改后B环境上架 修改后C环境上架 [制作提案(担保机构)-提交18] loan.d ...
- 51.webpack vue-cli创建项目
在上两篇博文中已经安装了node.js.webpack.vue-cli,安装的版本为: 今天通过这篇博文创建项目. 1.选择路径 首先通过命令行进入想要创建项目的路径,例如: 通过e:命令进入盘幅,再 ...
- CSS实现经典的三栏布局
实现效果: 左右栏定宽,中间栏自适应 (有时候是固定高度) 1 . 绝对定位布局:position + margin <div class="container"> & ...
- HTML 鼠标坐标和元素坐标
在这一篇文章中,将会介绍鼠标坐标.元素坐标以及鼠标在指定元素内的坐标. 1. 鼠标坐标 在触发鼠标相关事件时(如:click.mousemove),可以通过事件对象获取当前鼠标的坐标. 获取的坐标可分 ...
- [iOS] 测试设备解决自签名证书问题
不多说,解决过程都是泪. 用了最简单粗暴的方式. 1. 将你的自签名证书,放到测试设备可以访问的站点上 2. 用safari访问上面的地址,直接将证书安装到本设备上 搞掂! Have fun with ...
- MongoSpark 28799错误
Exception : . The full response is { , "codeName" : "Location28799" } at com.mon ...