View页面根据权限显示不同的内容
1、View中根据权限显示相关操作按钮
@if (CoreTools.CheckAction(HttpContext.Current, "Delete"))
{
<div class="pull-right margin-right-10">
<a id="delete" href="javascript:;" class="btn btn-fit-height red-haze">
<i class="fa fa-trash"></i> 删除
</a>
</div>
}
2、权限检查函数
public static bool CheckAction(string UserAccount, string ControllerName, string ActionName, bool SessionCache = true)
{
return GetRoleAction(UserAccount, SessionCache).Where(x => x.ControllerName == ControllerName && x.ActionName == ActionName).Count() > 0 ? true : false;
}
public static bool CheckAction(HttpContext context, string ActionName, bool SessionCache = true)
{
if (context.User.Identity.IsAuthenticated)
{
string UserAccount = context.User.Identity.Name;
string ControllerName = context.Request.RequestContext.RouteData.Values["controller"].ToString();
return CheckAction(UserAccount, ControllerName, ActionName, SessionCache);
}
else
{
return false;
}
}
3、根据权限显示相关菜单项
@foreach (var Menu in CoreTools.GetAllMenu().Where(x => x.RootLevel == 0).OrderBy(x=>x.OrderIndex))
{
//判断是否有子菜单
var SubMenus = CoreTools.GetRoleMenu(HttpContext.Current).Where(x => x.ParentGUID == Menu.GUID && x.RootLevel == 1).OrderBy(x => x.OrderIndex);
<li>
@if (SubMenus.Count() > 0)
{
<a href="javascript:;">
<i class="@Menu.IconClass"></i>
<span class="title">@Menu.DisplayName</span>
<span class="arrow "></span>
</a>
<ul class="sub-menu">
@foreach (var SubMenu in SubMenus)
{
<li>
<a href="@SubMenu.RequestUrl" id="@SubMenu.GUID">
<i class="fa @SubMenu.IconClass"></i>
@SubMenu.DisplayName
</a>
</li>
}
</ul>
}
</li>
}
View页面根据权限显示不同的内容的更多相关文章
- asp.net core根据用户权限控制页面元素的显示
asp.net core根据用户权限控制页面元素的显示 Intro 在 web 应用中我们经常需要根据用户的不同允许用户访问不同的资源,显示不同的内容,之前做了一个 AccessControlHelp ...
- MVC下 把数据库中的byte[]值保存成图片,并显示在view页面
MVC下 把数据库中的byte[]值转成图片,并显示在view页面 controller中的action方法 //显示图片[AllowAnonymous]public ActionResult Sho ...
- 如何让同一个字段在不同的view中显示不同的内容
many2one 字段默认显示 对象的name字段, 但也可以定义name_get方法显示不同的内容 如res.partner 对象可以根据 context 内容是否显示 客户的地址,职位,email ...
- Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级
1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-13基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级
1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...
- [ASP.NET MVC] 使用CLK.AspNet.Identity提供依权限显示选单项目的功能
[ASP.NET MVC] 使用CLK.AspNet.Identity提供依权限显示选单项目的功能 CLK.AspNet.Identity CLK.AspNet.Identity是一个基于ASP.NE ...
- JS随鼠标坐标移动,显示浮动层内容
在表单等项目中往往会遇到类似于“备注”.“说明”等100个字内的内容需要显示. 这些内容如果全部呈现开,会影响布局和美观,确又没有必要设计一个层或是一个页面. 那么,我们可以把这些内容放到浮动层中,鼠 ...
- iframe中子页面通过js计算高度(使得页面不会显示不全)
使用过iframe的人,都知道,它是一个模版,里面有一个iframe,而iframe当中,是可以嵌套多个页面的.(比较常见的问题,就是iframe页面中,经常会出现内容显示不全的时候). 谨记,通过j ...
- ASP.NET MVC 学习3、Controller左手从Model获取数据,右手传递到View页面
参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-dat ...
随机推荐
- BZOJ1565 植物大战僵尸
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1565 这题看上去并不会做,结果又是最大权闭合子图的裸题. 于是就去看了一发论文,明白建图的 ...
- html公用库
<script src="http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js" language="javascr ...
- NENU_CS_segment_tree
单点更新 http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意:单点更新加减,区间查询求和. #include<cstdio> #define ...
- 服务端 unity
第一个问题 https://www.google.com.hk/search?q=internal+inconsistency+looking+up+disk+image+%27vm+disk+2%2 ...
- c++ union
什么是union? 翻译过来说,就是共用体,或者也叫联合体.说到了union,也就是共用体,就不得不说一下struct了,当我们有如下的struct的定义时: 1 2 3 4 5 6 struct ...
- UML 2.0(装载)
在世界上统一建模语言UML2.0是完全不同的维度.它在本质上更加复杂和广泛. 与UML1.5版本相比,文件的程度也增加了. UML2.0中还增加了新的功能,所以它的使用可以更广泛. UML2.0将正式 ...
- mac mysql connection
随着网络日益发展还有os x用户的增多,有可能会需要在自己的x系统中运行mysql+php环境,比如架设网站或者测试之类.简单步骤如下: 1.下载MySQL 5.x 发行版,解压并安装映像中的两个安装 ...
- 使用CSS3实现3D图片滑块效果
使用 CSS3 的3D变换特性,我们可以通过让元素在三维空间中变换来实现一些新奇的效果. 这篇文章分享的这款 jQuery 立体图片滑块插件,利用了 3D transforms(变换)属性来实现多种不 ...
- Nginx SPDY Pagespeed模块编译——加速网站载入
在看<Web性能权威指南>的时候,看到了SPDY这货,于是便开始折腾起了这个了,也顺便把pagespeed加了进去. Nginx SPDY 引自百科~~ SPDY(读作“SPeeDY”)是 ...
- Bit-Map
昨日读July大神<教你如何迅速秒杀掉:99%的海量数据处理面试题>博客,有这么一题与大家分享: 给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断 ...