ASP.NET基于WCF的通用权限管理系统的设计与实现(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

ASP.NET基于WCF的通用权限管理系统的设计与实现(3)


(5)对某些实体的管理要考虑用户的权限。
(6)设计数据库时至少满足第二范式[8]。
3.1 数据库概念结构设计
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体及它们之间的逻辑关系,为后面的逻辑结构设计打下基础。数据库关系图如图2所示。
 
图2 数据库关系图
3.2 数据库逻辑结构设计
根据该系统的需求分析结果,可以得到以下几个实体信息:
用户基本信息:用户编号、用户名、登录名、登录密码、电子邮箱、电话号码、最后登录时间、创建时间、最后修改时间、最后登录IP、是否删除标志、用户状态、登录错误次数、排序。
角色基本信息:角色编号、角色名、是否删除标志、备注、角色类型、角色状态、创建时间、创建人。
权限基本信息:权限编号、访问地址、权限类型、请求类型、是否删除标志、权限名、备注、创建时间、创建人。
权限组基本信息:权限组编号、权限组名、创建时间、是否删除标志、权限组类型、备注、排序。
4. 系统详细设计
本课题通过用户调查、分析国内外研究现状,遵循SOA协议,采用基于WCF服务框架,结合权限访问控制技术和ASP.NET技术设计并实现基于WCF通用权限管理系统。本系统的功能包括:用户注册模块,用户登陆模块,权限校验,动态加载菜单,错误日志管理,用户管理,角色管理,权限管理,下面详细介绍一下该系统的核心功能的实现过程。
4.1 登录模块
4.1.1 功能描述
用户登陆模块:对于未登陆的用户不管访问哪个页面都跳转到用户登陆页面,用户在登陆界面输入登陆账号、密码和验证码后即可实现登陆功能,如果登陆失败给予信息提示,登陆成功后跳转到主界面,登录界面如图3所示。
 
图3 登录图
4.1.2 服务端的实现步骤描述
(1)服务/数据契约设计
STEP 1:通过ORM对象关系模型从对象模型映射到数据库自动生成每个对象的数据契约,其成员包括数据库中实体对应表的字段。如用户信息,其对象属性包括用户名、用户密码、用户IP、用户手机号码、用户的Email等信息。
STEP 2:创建名为用户操作的服务契约,其操作契约为登陆方法。根据用户名和密码判断用户是否登陆。
(2)业务逻辑
用户进入系统,输入用户名、密码和验证码后,后台程序将进行如下登陆逻辑处理:
STEP 1:判断是否具有登陆权限?如果没有,则返回到登陆页面,提示信息:无登陆权限!否则,转到STEP 2。
STEP 2:判断存放验证码的Session是否为null?如果是,则登陆失败,提示验证码过期。否则转到STEP 3。
STEP 3:判断与存放在Session的是否一致?如果不一致,提示验证码错误!否则,转到STEP 4。
STEP 4:根据用户名和密码在数据库中获取的用户对象否为空?如果为空,返回null。否则,返回用户对象!
4.1.3 客户端的实现步骤描述
STEP 1:获取用户输入的用户名,密码,验证码。
STEP 2:调用服务器中的用户操作服务契约,实现登陆功能。
4.2 菜单加载模块
4.2.1 功能描述
动态加载菜单:如果用户登陆成功后,根据登陆用户判断是否具有菜单权限,如果没有则没有菜单项显示,否则,显示登陆用户菜单项。
4.2.2服务端的实现步骤描述
(1)服务/数据契约设计
STEP 1:通过ORM对象关系模型从对象模型映射到数据库自动生成每个对象的数据契约,其成员包括数据库中实体对应表的字段。如权限表,其对象属性包括权限自增列、权限名、权限访问控制地址、权限类型、操作请求类型、是否逻辑删除等。 (责任编辑:qin)