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 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...
随机推荐
- RNN Train和Test Mismatch
李宏毅深度学习 https://www.bilibili.com/video/av9770302/?p=8 在看RNN的时候,你是不是也会觉得有些奇怪, Train的过程中, 是把训练集中的结果作为下 ...
- Elasticsearch学习笔记(三)聚合分析Agg
一.设置fielddata PUT /index/_mapping/type { "properties":{ "fieldName" ...
- java框架之SpringCloud(7)-Config分布式配置中心
前言 分布式系统面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中标会出现大量的服务.由于每个服务都需要必要的配置信息才能运行,所以一套集中式的.动 ...
- 160A
#include <stdio.h> int main() { int n; int sum1=0, sum2=0, sum3=0; int x, y, z; scanf("%d ...
- 数据库连接池 maxActive,maxIdle,maxWait参数
maxActive 连接池支持的最大连接数,这里取值为20,表示同时最多有20个数据库连接.设 0 为没有限制.maxIdle 连接池中最多可空闲maxIdle个连接 ,这里取值为20,表示即使没有数 ...
- OAuth2认证和授权:ResourceOwnerPassword认证
ResourceOwnerPassword在 ClientCredentials认证上新增了用户名和密码 但通过RequestPasswordTokenAsync获取不到refresh_token,不 ...
- 把vim插入状态的光标改为竖线
和终端有关系,如果是Konsole的终端,把下面两行加到.vimrc文件里就可以 let &t_SI = "\<Esc>]50;CursorShape=1\x7" ...
- POI 导出文档整理
1 通过模板获取workbook public static Workbook getWorkBook(String templatePath) { try { InputStream in = ne ...
- extends 与implements的区别和用法
1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口. extends 是继承某个类, 继承之后可以使用父类的方法, 也可以 ...
- [openjudge-动态规划]Maximum sum
题目描述 题目原文 描述 Given a set of n integers: A={a1, a2,-, an}, we define a function d(A) as below: d(A)=m ...