Asp.net MVC权限设计思考 (一)数据库建库部分
目前各类的权限设计已经困扰了我们好久,对于MVC,下面我将通过ActionFilter来扩展我们的权限认证,以下示例是从我的一个课程中心项目中提取出来,希望对各位初学者起到抛砖引玉的作用。
下面首先来设计我们的权限控制的数据库层。
下面我来依次介绍每个字段的说明
RoleGroup 权限组表 该表主要对系统权限进行分组,我们的用户可以直接赋予该分组,拥有所有该组权限
RoleID 权限组ID 例:01
RoleName 权限组名称 例:系统管理员
RoleState 组状态 (是否启用) 例:True
RoleGroupAppList 表 组权限对应表 该表主要复制每个权限组对应的权限详细列表
ID ID主键 例:1
RoleID 对应权限组的ID 例:01
SysAppID 对应的详细权限组ID 例:01
StartTime 该权限使用的起始日期 例:2009-01-01 ,该字段属性默认为:all ,即不限制起始日期
EndTime 该权限使用的结束日期 例:2009-01-01 ,该字段属性默认为:all ,即不限制结束日期
SysAppCate 表 该表主要是对SysAppList详细权限表做分类,当我们的权限页面特别多的时候,该表主要为了方便管理。可省略
SysAppCateID 大类ID 例:01
SysAppCateName 大类名称 例:新闻管理
SysAppCateEName 大类英文名
SysAppList 权限详细表 该表主要负责所有权限的基础列表
SysAppID 权限ID 例:01
SysAppCateID 权限大类ID 例:01
SysAppName 权限名称 例:新闻添加
SysAppEName 权限英文名称
SysAppController 权限对应的Controller 例:News
SysAppAction 权限对应的Action 例:Add 本权限设计针对对Action权限限制
IsView 是否为可见 例:True 该字段的设计主要是便于后台的管理和设置,因为有部分Action是没有View层的,比如Post,但是在后台权限管理中我们又要用到他。
好了,建库部分就到这里了,下一篇我会介绍逻辑部分,其中会涉及到Repository模式,缓存,自定义的AuthorizeAttribute。
转载于:https://www.cnblogs.com/cncode/archive/2010/03/24/1693736.html
Asp.net MVC权限设计思考 (一)数据库建库部分相关推荐
- asp.net MVC 权限设计
几点说明: 1.该权限系统是个网站用的,用户简单,因此不涉及到部门这些信息 2.基于将角色与controller.action相关联来判断用户是否有权 3.通过重载AuthorizeAttribute ...
- asp.net MVC 权限设计(续)
asp.net MVC 权限设计一文中没有demo放出来,应大家的要求,这里补充上文并放出demo. 几点说明: 1.基于将角色与controller.action相关联来判断用户是否有权 2.通过自 ...
- 自定义AuthorizeAttribute实现MVC权限设计
文本为您介绍:自定义AuthorizeAttribute实现MVC权限设计,主要是通过将角色与controller.action等参数关联进行用户权限判断,然后通过自定义AuthorizeAttrib ...
- 关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 【持续更新】
关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 [持续更新] 参考文章: (1)关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 [持续更新] (2)https://www. ...
- oracle建用户之前是否必须建表空间,Oracle数据库-建库、建表空间,建用户
Oracle数据库-建库.建表空间,建用户 Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来说,为了避免麻烦,可以用'Database ...
- linux配置oracle11G监听及本地网络服务 及 数据库建库
配置监听及本地网络服务 在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面. 数据库建库 在oracle用户的图形界面oracle用户中,新开启一个终端 ...
- 自然资源确权登记数据库建库
自然资源确权登记数据库建库 依据<自然资源确权登记操作指南(试行)>,开展自然资源和生态空间的确权登记工作.针对确权登记成果建设数据库,利用python结合ArcGIS提供arcpy站点包 ...
- ASP.NET MVC CODE FIRST 图书管理系统 数据库
ASP .NET MVC CODE FIRST 图书管理系统 本项目最后更新于2018-7-4,可能会因为没有更新而失效.如已失效或需要修正,请提issue! 我使用VS2017进行开发,框架是.NE ...
- 一台计算机有64,在同一台计算机上使用带有32位和64位Altium设计软件的数据库元件库...
数据库元件库(DbLibs)是一种流行且强大的元器件管理解决方案.但是,将Microsoft Access用作元器件的后端数据库时,使用Altium设计软件的32位和64位版本之间有一个重要区别: 6 ...
最新文章
- python实现ldap接入
- Java如何连接openvas_gas: chinese Gui for openvAS(GAS)
- springboot快速集成swagger
- 遗传算法经典实例代码_经典算法研究系列 之 深入浅出遗传算法
- java 导入world数据_java读取world文件,把world文件中的内容,原样输出到页面上。...
- C语言成绩管理分析系统
- 电工模拟接线软件 app_电气接线方法以及线号管正确方向
- 【WinMTR】Windows上winmtr的安装使用方法
- 二阶无源低通滤波器幅频特性曲线_二阶无源滤波器.doc
- 计算机中if函数的使用方法,如何在Excel 中使用IF函数
- win10热点开启后,手机可以连上热点但无法连接网络
- nginx反向代理中proxy_set_header的含义
- MQTT 基础--遗嘱信息(Last will)和遗嘱标示(Testament):第 9 部分
- How to craw the Info of BiliBIli with python
- linux fstab错误无法启动,Linux 系统 fstab错误导致系统无法启动的修复
- ubuntu18 防火墙关闭_ubuntu18开启/关闭防火墙
- linux操作mysql数据库
- 最新消息!2022年全国大学生数学建模竞赛评阅要点发布
- 【算法竞赛进阶指南】CH5202 自然数拆分Lunatic版 完全背包
- OCTA数据集的交叉验证划分为训练集和测试机
热门文章
- 现在大家都使用支付宝和微信支付,为何银行还准备大量的现金?
- ubuntu下载goalng-1.9
- java jint_Android使用JNI实现Java与C之间传递数据
- 电脑解锁后黑屏有鼠标_电脑开机黑屏只有鼠标如何解决
- sql server 缓存_了解SQL Server查询计划缓存
- azure 使用_使用Azure Data Studio开始您的旅程
- azure云数据库_Microsoft Azure SQL数据库-分步创建教程
- azure云数据库_Azure SQL数据库中的漏洞评估和高级威胁防护
- dbcc_name 空的_DBCC INPUTBUFFER和sys.dm_exec_input_buffer DMF概述
- ASP.NET MVC4中的异步控制器