ASP.NET访问权限管理

    以前接触到的访问权限,用户登录进来,判断一下用户的身份,根据其身份的权限,进行显示相应的内容。不过那样有个弊端,权限是写死在程序里面的。这一点对于灵活性高的系统来说,肯定是不可取的。所以我们要把权限控制变编译时为运行时。

    废话不多说,直切主题。下面这幅图是实现这个权限管理功能的表结构逻辑。对系统用户进行分组,对功能进行整理,然后让组与功能对应起来,只要该用户属于该组,那他就能访问到与改组对应的界面。所以严格的说,这个权限管理,也就是一个页面访问控制权限管理。

 

 

下面往数据库的表中插入一下测试数据:

根据实际情况,再为这5张表创建3个视图,

v_group_url这个视图可以用来查询某个用户组可以查看的全部网页(即有访问权限的网页)。

v_user_group这个视图可以用来查看该用户属于哪些用户组。

v_user_url这个视图,将2个视图联合起来,可以用来显示,某用户可以访问的页面。

 

这样通过v_user_url这个视图,就可以判断该用户有哪些界面的访问权限了。而我们再做一些针对这些表的控制,这样就把权限管理给做活了。

    其实归根结底,我们只是将用户与功能进行了分离,解耦,通过对用户组和功能建立关联,从而达到控制用户访问该页权限的目的。

 

 

 

时间: 2024-10-02 02:01:46

ASP.NET访问权限管理的相关文章

ASP.NET MVC 权限管理(一)

用了好长一段时间的ASP.NET MVC,感觉MVC真的是很好用,最近一年左右做了两个中小型项目,觉得还是很多地方不是很熟悉的,所以现在打算做一个比较通用一点的管理系统,后台主要包括的模块有:会员管理.权限管理.系统管理.内容管理,还有前台的用户中心系统. PS:博主现在换工作了,是做电商的美工,感觉开发时间久太累了,换个环境休养生息~~~~所以更新肯定不会很快,各位见谅吧~~ 废话不多说,这个系统现在还处于构思阶段,我打算是一边开发一边写博客,写得不好的地方各位多多包涵:系统使用VS2012

IBM WebSphere MQ认证及访问权限管理

文章介绍了 MQ 7.0 的http://www.aliyun.com/zixun/aggregation/18083.html">权限管理机制和 MQ 7.1 新引入的通道认证机制,并提供详细的实现命令供读者参考.通过概念与实例的结合,使用户对 MQ 的认证及权限管理有一个全面详实的认识. 在企业级解决方案中,WebSphere MQ 被广泛用于不同产品间的通信,包括金融及银行领域.在这些领域中,对系统的安全性特别敏感,这就要求 MQ 具有完善的安全机制,从而应对各种潜在的攻击.MQ 的

浅谈ASP.NET的权限管理和用户验证

asp.net 网站建设中,会碰到最常用的用户管理及操作权限设置验证,虽然这是很常见的一个管理操作,但要做得完善很不容易.最近参考了许多.NET方面的书,特别关心这方面的,并结合自己特点,摸索了一下适合自己的用户管理方法,完成了基本管理类库. 用户的管理方法,在设计时采取"用户--角色--许可"三级,这是WINDOWS操作系统的用户管理方法.一个用户可以有多个角色,一个角色也可以有多个许可. 所以有数据库设计时分别设计: 用户表:设UserID.用户名.用户信息 角色表:设RoleID

ASP.NET MVC 权限管理(二) 实体模型设计

上一篇文章写了关于项目的基本开发组织和项目用到的一些东西,这篇文章就开始设计实体模型了,好了,废话不多说. 一.实体模型基类 因为每个模型实体都需要有一个编号,状态这些基本的东西,为了遵守MVC的"不要重复自己"的原则,共有的东西就写到一个公共类去,以前开发我都是用自增的Int作为主键,这一次呢就打算试用一下GUID作为数据库的主键编号,要是有不懂的地方,大家赶紧指出来啊~~ 有码有真相: /// <summary> /// 模型基类 /// </summary>

(20分)求asp.net自定义权限管理思路和资料

问题描述 目前公司遇到一个需要自己手写管理权限的管理希望达到除了可以控制访问页面还可以控制一个页面中的一些权限:如添加一条信息(table)修改.删除等具体操作.如何控制这么一些操作呢?请指教. 解决方案 解决方案二:根据角色来判断能否执行操作解决方案三:一个用户表,一个角色表,一个资源权限表,一个操作权限表首先创建权限(就是将默认的权限添加到资源权限表和操作权限表)然后创建角色最后创建用户,并分配其角色当用户浏览某个页面的时候,先判断该用户是否拥有这个资源的权限(在资源权限表里)并且同时拥有浏

MySQL之权限管理

MySQL之权限管理 一.MySQL权限简介     关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行update操作.只允许你从某台机器上连接mysql,那么你就不能从除那台机器以外的其他机器连接mysql.     那么Mysql的权限是如何实现的呢?这就要说到mysql的两阶段验证,下面详细介绍:第一阶段:服务器首先会检查你是否允许连接.因为创建用户的时候会加上主机限制,可以限制成本地.某个IP.某个IP段

权限管理设计、分析、实现参考资料

AspNetForums中基于角色的权限控制 http://blog.joycode.com/dotey/archive/2005/02/24/44791.aspx asp.net页面如何控制页面依据不同用户权限有不可见.可见.编辑 三种操作权限 http://community.csdn.net/Expert/topic/3436/3436974.xml?temp=.0139429 做过权限管理和想做权限管理的人进来(附我的思路) http://community.csdn.net/Exper

ASP.NET 2..0站点登录、导航与权限管理

asp.net|导航|站点 asp.net 2.0中,新增了许多新的功能和控件.其中,新增的登陆控件可谓使得WEB应用的设计更加得心应手.什么是登陆控件呢?就是我们平常在WEB应用中经常要用到的用户注册,登陆,忘记密码,登陆后根据权限的不同而显示不同的页面等功能,现在在asp.net 2.0中都已经可以由提供的控件来实现了. asp.net 2.0中,为了更方便创建和管理用户,以及对 Web 应用程序中的页进行密码保护,引进了新的框架membership.新的框架包含用于处理身份验证和授权的新增

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    (5):前台Jquery easyUI实现    (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一