Code-NFine:NFine权限控制
ylbtech-Code-NFine:NFine权限控制 |
1.返回顶部 |
1.2 菜单管理配置方法
functionGetLoadNav() {var data =top.clients.authorizeMenu;var _html = "";$.each(data,function(i) {var row =data[i];if (row.F_ParentId == "0") {_html+= '<li>';_html+= '<a data-id="' + row.F_Id + '" href="#" class="dropdown-toggle"><i class="' + row.F_Icon + '"></i><span>' + row.F_FullName + '</span><i class="fa fa-angle-right drop-icon"></i></a>';var childNodes =row.ChildNodes;if (childNodes.length > 0) {_html+= '<ul class="submenu">';$.each(childNodes,function(i) {var subrow =childNodes[i];_html+= '<li>';_html+= '<a class="menuItem" data-id="' + subrow.F_Id + '" href="' + subrow.F_UrlAddress + '" data-index="' + subrow.F_SortCode + '">' + subrow.F_FullName + '</a>';_html+= '</li>';});_html+= '</ul>';}_html+= '</li>';}});$("#sidebar-nav ul").prepend(_html); }
var clients =[]; $(function() {clients=$.clientsInit(); }) $.clientsInit= function() {var dataJson ={dataItems: [],organize: [],role: [],duty: [],user: [],authorizeMenu: [],authorizeButton: []};var init = function() {$.ajax({url:"/ClientsData/GetClientsDataJson",type:"get",dataType:"json",async:false,success:function(data) {dataJson.dataItems=data.dataItems;dataJson.organize=data.organize;dataJson.role=data.role;dataJson.duty=data.duty;dataJson.authorizeMenu=eval(data.authorizeMenu);dataJson.authorizeButton=data.authorizeButton;}});}init();returndataJson; }
$.fn.authorizeButton = function() {var moduleId = top.$(".NFine_iframe:visible").attr("id").substr(6);var dataJson =top.clients.authorizeButton[moduleId];var $element = $(this);$element.find('a[authorize=yes]').attr('authorize', 'no');if (dataJson !=undefined) {$.each(dataJson,function(i) {$element.find("#" + dataJson[i].F_EnCode).attr('authorize', 'yes');});}$element.find("[authorize=no]").parents('li').prev('.split').remove();$element.find("[authorize=no]").parents('li').remove();$element.find('[authorize=no]').remove(); }
usingNFine.Application.SystemManage;usingNFine.Code;usingSystem.Text;usingSystem.Web;usingSystem.Web.Mvc;namespaceNFine.Web {public classHandlerAuthorizeAttribute : ActionFilterAttribute{public bool Ignore { get; set; }public HandlerAuthorizeAttribute(bool ignore = true){Ignore=ignore;}public override voidOnActionExecuting(ActionExecutingContext filterContext){if(OperatorProvider.Provider.GetCurrent().IsSystem){return;}if (Ignore == false){return;}if (!this.ActionAuthorize(filterContext)){StringBuilder sbScript= newStringBuilder();sbScript.Append("<script type='text/javascript'>alert('很抱歉!您的权限不足,访问被拒绝!');</script>");filterContext.Result= new ContentResult() { Content =sbScript.ToString() };return;}}private boolActionAuthorize(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 newRoleAuthorizeApp().ActionValidate(roleId, moduleId, action);}} }
2、
2.返回顶部 |
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
6.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
转载于:https://www.cnblogs.com/storebook/p/9405033.html
Code-NFine:NFine权限控制相关推荐
- .NET WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制
项目背景是一个社区类的APP(求轻吐...),博主主要负责后台业务及接口.以前没玩过webAPI,但是领导要求必须用这个(具体原因鬼知道),只好硬着头皮上了. 最近刚做完权限这一块,分享出来给大家.欢 ...
- Keycloak简单几步实现对Spring Boot应用的权限控制
我们在上一篇初步尝试了keycloak,手动建立了一个名为felord.cn的realm并在该realm下建了一个名为felord的用户.今天就来尝试一下对应的Spring Boot Adapter, ...
- Django 基于角色的权限控制
有一种场景, 要求为用户赋予一个角色, 基于角色(比如后管理员,总编, 编辑), 用户拥有相应的权限(比如管理员拥有所有权限, 总编可以增删改查, 编辑只能增改, 有些页面的按钮也只有某些角色才能查看 ...
- 使用service实现登录、权限控制
2019独角兽企业重金招聘Python工程师标准>>> 文章来源:http://blog.ddlisting.com 官网对于登录.用户权限的介绍只有一段简单的说明,并没有详细说明如 ...
- Apache ZooKeeper - ZK的ACL权限控制( Access Control List )
文章目录 概述 权限模式(Scheme) 口令验证 范围验证 Super权限模式 授权对象(ID) 权限信息(Permission) ACL相关命令 跳过ACL检测 实操ACL 生成授权ID 方式一 ...
- SAP用户权限控制大解析及权限进阶分析
通常basis会使用PFCG做权限管理,你保存时会产生一个系统外的profile name,而且,SU01时用户有profile 和role两栏位. 这些个profile name ,profile, ...
- 用SAP Authority Object 对权限控制
早就听说SAP Authority Object 对权限控制比较好用,今天有幸实践下. 下面是一个简单但是完整的Authority-check的小例子: 1.创建Data Element------- ...
- SpringBoot-Security 具体案例、 实现安全框架、权限控制、aop切入
SpringBoot-Security 具体案例. 实现安全框架.权限控制.aop切入 SpringBoot-Security介绍 Security 官方序言 安全是一个不断变化的目标,追求一个全 ...
- RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣
RBAC.控制权限设计.权限表设计 基于角色权限控制和基于资源权限控制的区别优劣 一.介绍 二.基于角色的权限设计 三.基于资源的权限设计 四.主体.资源.权限关系图 主体.资源.权限相关的数据模型 ...
- Apache Shiro的运行流程和权限控制方式分析
Apache Shiro的运行流程和权限控制方式分析 Shiro的架构有3个主要的概念: Subject SecurityManager Realms 下面的关系图是关于这些组件是如何交互的高级概述. ...
最新文章
- 【pandas学习笔记】DataFrame
- 安装没有在R包仓库CRAN上托管的R包
- struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
- 将类似html数据打印机,机器人和3D打印机的架构有哪些相似之处
- python设计模式12-代理模式
- java面试要点---Spring体系知识点复习,IOC,AOP---随时更新
- 三菱plc编程软件gx-developer在win10中无法使用及工程无法建立解决方法
- 计算机应用基础信息素养,计算机应用基础:信息素养+Office 2013办公自动化
- 射频电路学习之滤波电路
- linux下如何查看tlq服务,谁能跟我讲解一下bashrc?
- html怎么取消打印空白页,怎么取消打印空白页:如何删除Excel工作表中的空白页...
- pinia - 大菠萝的使用
- iOS模块化灰度 A/BTest
- Linux平台下快速搭建FTP服务器
- 解决Powershell前面没有base,无法激活虚拟环境问题
- 【英语竞赛】专项练习之听力
- 第一章 TCG 规范科普解读
- Postgres-XL数据库GTM——GTM and Global Transaction Management
- 修者和修士不同,修士又称修道者
- [宋史学习] 谁制造了“天子为点检”的木牌?
热门文章
- Linux上机考试试题
- 安装ANSYS19.0的正确方法(附下载)
- 2021华为软挑-成渝复赛复盘
- Spine 骨骼动画
- VMware安装时出现 “您无权输入许可证密钥,请使用系统管理员账户重试”解决方案
- MP算法与OMP算法讲解一
- jdk在线帮助文档地址
- 通过CN3口直接控制台达伺服电机A2-M(一)
- CXF WebService视频教程,自己录的(更新第7集 异步调用 2009.1.15)。
- 单片机的c语言程序控制直流电机,(单片机控制直流电机)毕业论文.doc