博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(7.1) 模块管理,验证权限,展示模块列表...
阅读量:6798 次
发布时间:2019-06-26

本文共 1232 字,大约阅读时间需要 4 分钟。

索引

简述

今天我们来做模块管理的 展示 模块列表

项目准备

我们用的工具是:VS 2013 + SqlServer 2012 + IIS7.5

希望大家对ASP.NET MVC有一个初步的理解,理论性的东西我们不做过多解释,有些地方不理解也没关系,会用就行了,用的多了,用的久了,自然就理解了。

项目开始

一、添加预置数据

超级管理员是获取全部系统和权限的,但是首先,必须是存在权限的,模块和权限是整套系统的基架。

我们首先添加几个模块: 模块管理和权限管理 他们都属于系统管理 在 系统管理中心下

 

SYS_MODULE

 

SYS_PERMISSION 分别给模块表和权限表 添加 查看(View)详情(Detail)添加(Add)删除(Remove)修改(Edit)权限

 

 

二、新建HomeController控制器 继承BaseController

public class HomeController : BaseController

(BaseController 需要添加引用 using WebPage.Controllers)

 

1、注入Module模块管理

在Config/Controllers.xml 添加

(容器需要添加引用 using Service.IService)

 

2、添加Index 视图,将模块(菜单)输出到页面上,大家可以用BootStrap后台模板+BUI,看个人喜好。

 

三、模块管理

 

1、新建模块管理控制器 ModuleController 继承 BaseController

 

 

2、同上,声明容器

 

3、模块管理首页 视图 Index 添加 权限验证 

 

4、加载模块列表方法 BindList(分级显示,所以这里我们没有用分页)

为了更直观的显示他们的层级关系,我们在展示模块名称的时候 写了个简单的方法 错层显示

 

5、我们接收一些查询的参数,然后将查询结果输出到页面(查询关键字的接收以及后面分页用到的分页参数的接收都在BaseController 我们这里只接收 系统ID 就可以了)

 

6、我们在Index视图页添加操作按钮

 

7、查询检索项

 

8、接收列表动态类,输出列表

 

四、在程序中 我们已经对 模块的操作权限做了验证,但是,让用户点击一个操作按钮就提示 您没有权限,这是很不友好的,所以,我们想,用户对某个模块没有操作权限,我们就把这个按钮Remove掉

 

我们在BaseController已经对页面输出了权限集合 我们在布局页中接收这个集合并做出处理:对本模块没有的操作权限 我们Remove掉

 

 

 

这样,我们就做到了前台和后台的双验证。

 

给大家展示一下前台效果(注意:我们在添加测试数据的时候 并没有 添加 addchild 权限) 所以 在页面中 列 操作 的 [添加子模块] 被移除了

 

 

 

原创文章 转载请尊重劳动成果 

转载于:https://www.cnblogs.com/yuangang/p/5537501.html

你可能感兴趣的文章
W3C发布DRM作为推荐方案
查看>>
前端计划——Codewars的一些JavaScript题集
查看>>
红帽论坛北京站召开 设立亚太开放创新实验室
查看>>
Spark生态顶级项目汇总
查看>>
EF Core 2.1路线图:视图、GROUP BY和惰性加载
查看>>
NetBeans在Apache基金会取得的进展
查看>>
Netflix实时流处理平台Keystone介绍
查看>>
一文带你快速读懂.NET CLI
查看>>
深入探索JVM自动资源管理
查看>>
实现TeX的算法:回首编程技术的过去三十年
查看>>
re:Invent大会第四天:为什么Lambda值得你更多关注?
查看>>
B端大数据应用的架构实践与思考
查看>>
Cascade:自动化测试“旅程”
查看>>
2018年十大云宕机事故盘点:主流无一幸免!
查看>>
美团开源实时监控系统 CAT 3.0 发布:多语言客户端及多项性能提升
查看>>
开源项目koa-router被叫卖,周下载10W+只要5000美元
查看>>
360首席安全官谭晓生宣布离职
查看>>
微软正式发布Azure Functions 2.0
查看>>
Swift 4.2进入最后开发阶段,为Swift 5铺平道路
查看>>
爱立信电信软件的持续交付
查看>>