View页面根据权限显示不同的内容

时间:2023-01-02 15:14:44

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>&nbsp;删除
                </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页面根据权限显示不同的内容的更多相关文章

  1. asp&period;net core根据用户权限控制页面元素的显示

    asp.net core根据用户权限控制页面元素的显示 Intro 在 web 应用中我们经常需要根据用户的不同允许用户访问不同的资源,显示不同的内容,之前做了一个 AccessControlHelp ...

  2. MVC下 把数据库中的byte&lbrack;&rsqb;值保存成图片,并显示在view页面

    MVC下 把数据库中的byte[]值转成图片,并显示在view页面 controller中的action方法 //显示图片[AllowAnonymous]public ActionResult Sho ...

  3. 如何让同一个字段在不同的view中显示不同的内容

    many2one 字段默认显示 对象的name字段, 但也可以定义name_get方法显示不同的内容 如res.partner 对象可以根据 context 内容是否显示 客户的地址,职位,email ...

  4. Asp&period;Net Core 2&period;0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级

    1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...

  5. net core体系-web应用程序-4asp&period;net core2&period;0 项目实战(1)-13基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级

    1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...

  6. &lbrack;ASP&period;NET MVC&rsqb; 使用CLK&period;AspNet&period;Identity提供依权限显示选单项目的功能

    [ASP.NET MVC] 使用CLK.AspNet.Identity提供依权限显示选单项目的功能 CLK.AspNet.Identity CLK.AspNet.Identity是一个基于ASP.NE ...

  7. JS随鼠标坐标移动,显示浮动层内容

    在表单等项目中往往会遇到类似于“备注”.“说明”等100个字内的内容需要显示. 这些内容如果全部呈现开,会影响布局和美观,确又没有必要设计一个层或是一个页面. 那么,我们可以把这些内容放到浮动层中,鼠 ...

  8. iframe中子页面通过js计算高度(使得页面不会显示不全)

    使用过iframe的人,都知道,它是一个模版,里面有一个iframe,而iframe当中,是可以嵌套多个页面的.(比较常见的问题,就是iframe页面中,经常会出现内容显示不全的时候). 谨记,通过j ...

  9. ASP&period;NET MVC 学习3、Controller左手从Model获取数据,右手传递到View页面

    参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-dat ...

随机推荐

  1. Base64编码原理分析

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,在了解Base64编码之前,先了解几个基本概念:位.字节. 位:"位(bit)"是计算机中最小的数据单位.每一位 ...

  2. AngularJS中的指令全面解析(转载)

    说到AngularJS,我们首先想到的大概也就是双向数据绑定和指令系统了,这两者也是AngularJS中最为吸引人的地方.双向数据绑定呢,感觉没什么好说的,那么今天我们就来简单的讨论下AngularJ ...

  3. MySQL作业

    创建作业事件 MONTH STARTS '2015-01-01 05:30:01' ON COMPLETION NOT PRESERVE ENABLE DO CALL sp_moveLoginReco ...

  4. android 休眠唤醒机制分析&lpar;一&rpar; — wake&lowbar;lock

    本文转自:http://blog.csdn.net/g_salamander/article/details/7978772 Android的休眠唤醒主要基于wake_lock机制,只要系统中存在任一 ...

  5. 【安卓笔记】高速的发展设置界面-----PreferenceActivity

    通常app都会有一个设置界面,例如以下: 通常做法是自定义布局,然后在代码里面加入响应函数,并将结果保存到Sharedpreferences中. android给我们提供了PreferenceActi ...

  6. 20170505 PHP实践中知识点

    1.json_encode 不转义 2.empty() 与 isset() 区别 在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯 ...

  7. MySQL实用基本操作

    本博客写是装好Mysql并配好环境变量后的基本操作(windows10系统下)且都是黑框内的操作. 一.登陆MySQL 首先启动服务,在桌面左下角图标处点击右键Windows PowerShell(管 ...

  8. Java 产生一个大于等于200,小于300的随机数,且是10的整数倍

    public class Random200_300 { public static void main(String[] args) { int r1 = 0; while (true) { r1 ...

  9. S5PV210中断体系结构分析

    我们按照Tiny210官方的裸板程序来梳理S5PV210的中断体系. 关于 S5PV210 的中断体系结构 S5PV210 的中断控制器是由 4 个向量中断控制器(VIC). ARM PrimeCel ...

  10. &lbrack;Oracle&rsqb;Oracle Fail Safe 与 SQLNET&period;AUTHENTICATION&lowbar;SERVICES关系

    现象: 在使用 OFS (Oracle Fail Safe)的环境中,把数据库的 SQLNET.AUTHENTICATION_SERVICES 从 NTS 改为 NONE之后,当从 Oracle Fa ...