手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net 权限管理分析
asp.net 权限管理分析
摘要:权限管理一般分为“用户管理”“角色管理”“权限管理”。而其中的权限管理,主要是针对某一模块实现“添加”“修改”“删除”的针对性控制,比如某个...

权限管理一般分为“用户管理”“角色管理”“权限管理”。而其中的权限管理,主要是针对某一模块实现“添加”“修改”“删除”的针对性控制,比如某个用户有“添加文章”的权限,但没有“修改(审核)文章”的权限。以下我主要先讲下“权限管理”。

首先,存进数据库的格式,看下:

复制代码 代码如下:

news:3,gallery:1,users:15

也许你经常看到存进数据库是3,1,15就这样的格式,而没有前面的news,gallery,users,为了看上去方便以及程序编写时容易查看,就加上了。news代表新闻模块,gallery代表图库模块,而users代表用户管理模块,而3,1,15:

复制代码 代码如下:

1 = 1 = 20

3 = 1 + 2 = 20 + 21

15 = 1 + 2 + 4 + 8 = 20 + 21 + 22 + 23

而这些值都可以用位或取得:

复制代码 代码如下:

1 = Convert.ToInt32(1)

3 = Convert.ToInt32(1|2)

15= Convert.ToInt32(1|2|4|8)

而1,2,4,8刚好对应权限枚举:

复制代码 代码如下:

/// <summary>

/// 1添加,2修改,4删除,8管理列表

/// </summary>

public enum Perm

{

add = 1,

update = 2,

delete = 4,

readlist = 8

}

如果已经一个权限值为7,那么我们怎么知道这个用户有哪些权限呢?我们分析:

复制代码 代码如下:

7 = 1 + 2 + 4 = 20 + 21 + 22 = 2 3 - 1

其实这是一条数学公式,很高兴我在数学系学的东西在程序方面有所作用了:

复制代码 代码如下:

Sigma ( 2n , n 是自然数 ) = 2n+1 - 1 ,即 1 + 2 + 4 + 8 + .... + 64 = 128 - 1 = 127

毫无疑问的,这个是比较复杂的。

未完,待续...

【asp.net 权限管理分析】相关文章:

asp.net Hashtable 遍历写法

asp.net 数据访问层基类

asp.net各种cookie代码和解析实例

asp.net 多字段模糊查询代码

asp.net中C++单例实现问题分析

asp.net发送邮件示例分享

asp.net(c#) ubb处理类

asp.net 无限分类第1/3页

asp.net Google样式分页控件

Asp.Net2.0权限树中Checkbox的操作

精品推荐
分类导航