《用户权限管理》------架构设计方案

《用户权限管理》------架构设计方案

l  项目名称: “用户权限管理”

l  项目输出类型: 动态连接库(.dll 文件) ----需要.NET 4.0 客房端支持

l  用于管理用户和配置用户权限与及应用模块的控制。(支持多数据库连接,可扩展)

l  主要业务逻辑:

 

        A:操作业务逻辑: “添加”------“修改”------“删除”------“查看”。

        B:数据库业务逻辑: “插入”------“更新“-------”删除“------”选择“。

 

1.        用户与数据库对应逻辑:

         用户                                      数据库

         添加----------------------------------------------------------à插入

         修改----------------------------------------------------------à更新

         删除----------------------------------------------------------à删除

         查看----------------------------------------------------------à选择

 

2         用户架构模式:

 

A.       接口模式

B.        抽象模式

 

2.        项目主要有两个超类:“用户操作“和”数据库操作“。

接口模式如下:

Public Interface IOperate                          Public Interface ISqlOperate

{                                                             { 

Public Void Add ( Guid  ID )                       Public Void  Insert ( string Sqlcommandstring )

Public Void Modify ( Guid ID )                      Public Void  Modify ( string Sqlcommandstring )

Public Void Delete ( Guid ID )                       Public Void  Delete ( string Sqlcommandstring )

Public Void View ( Guid ID )                        Public Void  View ( string Sqlcommandstring )

}                                                              }

 

 

抽象模式如下:

Public Abstract class Operate                      Public Abstract class SqlOperate

{                                                              { 

Public Void Add ( Guid  ID )                       Public Void  Insert ( string Sqlcommandstring )

Public Void Modify ( Guid ID )                      Public Void  Modify ( string Sqlcommandstring )

Public Void Delete ( Guid ID )                       Public Void  Delete ( string Sqlcommandstring )

Public Void View ( Guid ID )                        Public Void  View ( string Sqlcommandstring )

}                                                               }

 

用户类,部门类,组别类,角色类,权限类,模块类都从这它们派生,并继承所有方法。

(注: 派生类只能一个基类,但可拥有多个接口。

如: public  myClass :Operate public myClass : IOperate,ISqlOperate

接口不提供方法的实现,派生类需自己实现。抽象类可实现非抽象方法,但抽象类中的抽象方法必需同派生类来实现

 

 

3.  对象的枚举:

用户类型的枚举:                                                权限类型的枚举:

 

 

Public  enum  UserTypes                                        Public  enum  RightsTypes

{                                                                          {

      User = 0,                                                                  None = 0 ,

     Administrator = 1,                                                     AllRights  = 1,

}                                                                                 Add = 2.

                                                                                   Delete = 3,

                                                                                   Modify = 4 ,

                                                                                  View = 5,

                                                                             }

 

2,3,4,5 为单一权限的开户,1为开启所有权限,0为禁用所有权限。

当用户的所有权限被禁用时,该用户的所有模块的访问权也被禁用。

 

在创建用户时进行用户权限的分配,

      Administrator  ========== AllRights;

      User                ========== None(默认值); 管理员可对其开启相关权限。

 

3.        用户与模块间关系。

                                              模块1  ---------------------à  只对管理员开启   (管理员)

用户-------------------à 模块   模块2  ---------------------à  对所有用户开启   (管理员,用户)

                                               模块3  ---------------------à  对所有用户开启   (管理员,用户)

 

 

   当用户为管理员时,系统自动开启 模块1,模块2和模块3,当为普通用户时只开启模块12

 

   

 

 

 

 

秋式开源团队-----WINFORM开发小驵----铁公鸡- 编写

2011-4-16

新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"
关键字 架构设计
发表于:2011/4/16 6:49:45WINFORM  浏览(3732)  评论(1)
#1 2013/12/5 16:55:42 | 游客[注册][112.253.6.*]
<script type="text/javascript">alert("冲哥好!")</script>