知识大全 介绍——用户认证管理设计方案
Posted 知
篇首语:如果学习只在于模仿,那么我们就不会有科学,也不会有技术。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 介绍——用户认证管理设计方案相关的知识,希望对你有一定的参考价值。
用户认证管理设计方案 设计思路 为了设计一套具有较强可扩展性的用户认证管理 需要建立用户 角色和权限等数据库表 并且建立之间的关系 具体实现如下 用户 用户仅仅是纯粹的用户 用来记录用户相关信息 如用户名 密码等 权限是被分离出去了的 用户(User)要拥有对某种资源的权限 必须通过角色(Role)去关联 用户通常具有以下属性 ü 编号 在系统中唯一 ü 名称 在系统中唯一 ü 用户口令 ü 注释 描述用户或角色的信息 角色 角色是使用权限的基本单位 拥有一定数量的权限 通过角色赋予用户权限 通常具有以下属性 ü 编号 在系统中唯一 ü 名称 在系统中唯一 ü 注释 描述角色信息 权限 权限指用户根据角色获得对程序某些功能的操作 例如对文件的读 写 修改和删除功能 通常具有以下属性 ü 编号 在系统中唯一 ü 名称 在系统中唯一 ü 注释 描述权限信息 用户与角色的关系 一个用户(User)可以隶属于多个角色(Role) 一个角色组也可拥有多个用户 用户角色就是用来描述他们之间隶属关系的对象 用户(User)通过角色(Role)关联所拥有对某种资源的权限 例如 l 用户(User) UserID UserName UserPwd 张三 xxxxxx 李四 xxxxxx …… l 角色(Role) RoleID RoleName RoleNote 系统管理员 监控系统维护管理员 监控人员 在线监控人员 调度人员 调度工作人员 一般工作人员 工作人员 …… l 用户角色(User_Role) UserRoleID UserID RoleID UserRoleNote 用户 张三 被分配到角色 系统管理员 用户 李四 被分配到角色 监控人员 用户 李四 被分配到角色 调度人员 …… 从该关系表可以看出 用户所拥有的特定资源可以通过用户角色来关联 权限与角色的关系 一个角色(Role)可以拥有多个权限(Permission) 同样一个权限可分配给多个角色 例如 l 角色(Role) RoleID RoleName RoleNote 系统管理员 监控系统维护管理员 监控人员 在线监控人员 调度人员 调度工作人员 一般工作人员 工作人员 …… l 权限(Permission) PermissionID PermissionName PermissionNote 增加监控 允许增加监控对象 修改监控 允许修改监控对象 删除监控 允许删除监控对象 察看监控信息 允许察看监控对象 …… l 角色权限(Role_Permission) RolePermissionID RoleID PermissionID RolePermissionNote 角色 系统管理员 具有权限 增加监控 角色 系统管理员 具有权限 修改监控 角色 系统管理员 具有权限 删除监控 角色 系统管理员 具有权限 察看监控 角色 监控人员 具有权限 增加监控 角色 监控人员 具有权限 察看监控 …… 由以上例子中的角色权限关系可以看出 角色权限可以建立角色和权限之间的对应关系 建立用户权限 用户权限系统的核心由以下三部分构成 创造权限 分配权限和使用权限 第一步由Creator创造权限(Permission) Creator在设计和实现系统时会划分 利用存储过程CreatePermissionInfo(@PermissionName @PermissionNote)创建权限信息 指定系统模块具有哪些权限 第二步由系统管理员(Administrator)创建用户和角色 并且指定用户角色(User-Role)和角色权限(Role-Permission)的关联关系 )Administrator具有创建用户 修改用户和删除用户的功能 l 存储过程CreateUserInfo(@UserName @UserPwd)创建用户信息 l 存储过程ModifyUserInfo(@UserName @UserPwd)修改用户信息 l 存储过程DeleteUserInfo(@UserID)删除用户信息 )Administrator具有创建角色和删除角色的功能 l 存储过程CreateRoleInfo(@RoleName @RoleNote)创建角色信息 l 存储过程DeleteRoleInfo(@RoleID)删除角色信息 )Administrator具有建立用户和角色 角色和权限的关联关系功能 l 存储过程GrantUserRole(@UserID @RoleID @UserRoleNote)建立用户和角色的关联关系 l 存储过程DeleteUserRole(@UserRoleID)删除用户和角色的关联关系 l 存储过程GrantRolePermission(@RoleID @PermissionID @RolePermissionNote)建立角色和权限的关联关系 l 存储过程DeleteRolePermission(@RolePermissionID)删除角色和权限的关联关系 第三步用户(User)使用Administrator分配给的权限去使用各个系统模块 利用存储过程GetUserRole(@UserID @UserRoleID output) GetRolePermission(@RoleID @Role PermissinID output)获得用户对模块的使用权限 用户认证实现 当用户通过验证后 由系统自动生成一个 位的TicketID保存到用户数据库表中 建立存储过程Login(@UserID @UserPwd @TicketID output)进行用户认证 认证通过得到一个TicketID 否则TicketID为null 其流程图如下 图 Login流程图 得到TicketID后 客户端在调用服务端方法时传递TicketID 通过存储过程JudgeTicketPermission(@TicketID @PermissionID)判断TicketID对应的用户所具有的权限 并根据其权限进行方法调用 当用户退出系统时 建立存储过程Logout(@UserID)来退出系统 当用户异常退出系统时 根据最后的登陆时间(LastSignTime)确定用户的TickeID 建立存储过程ExceptionLogout(@UserID @LastSignTime)处理用户的异常退出 图 Logout流程图 WebService可以采用SoapHeader中写入TicketID来使得TicketID从客户端传递给服务端 Net Remoting可以采用CallContext类来实现TicketID从客户端传递给服务端 数据库设计 数据库表 图 数据库关系图 数据库表说明 用户表(Static_User) 角色表(Static_Role) 用户-角色表(Static_User_Role) 权限表(Static_Permission) 角色-权限表(Static_Role_Permission) 技术概要 WebService SoapHeader 对 SQL 数据库执行自定义身份验证和授权 在这种情况中 应向服务传递自定义凭据(如用户名和密码) 并让服务自己处理身份验证和授权 将额外的信息连同请求一起传递给 XML Web 服务的简便 cha138/Article/program/Java/hx/201311/26525相关参考
知识大全 你好,我看到你的腾讯微博有通过认证,请问认证是需要有经过认证的用户进行邀请才能通过认证吗
你好,我看到你的腾讯微博有通过认证,请问认证是需要有经过认证的用户进行邀请才能通过认证吗?还是?如果你是名人,我想你用不着来问我,会有人主动去找你;如果你不是名人的话,你问了也是白问,你找了人,人家也
使用MySQL认证ProFTPD用户 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! aptget
知识大全 Winform开发框架之权限管理系统改进的经验总结(2)-用户选择界面的设计
Winform开发框架之权限管理系统改进的经验总结(2)-用户选择界面的设计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让
SQLServer自动化管理分区设计方案 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一设计说
PB用户权限管理[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 方案一多用户多用户方法 &
关于膜系统的关键问题及解决方案做以下介绍。1.1膜系统处理能力下降膜系统运转一段时间后,有时处理能力明显下降,达不到设计产能。产生这种现象的原因主要与膜系统工作环境、选型设计、安装施工、运行管理和膜产
关于膜系统的关键问题及解决方案做以下介绍。1.1膜系统处理能力下降膜系统运转一段时间后,有时处理能力明显下降,达不到设计产能。产生这种现象的原因主要与膜系统工作环境、选型设计、安装施工、运行管理和膜产
关于膜系统的关键问题及解决方案做以下介绍。1.1膜系统处理能力下降膜系统运转一段时间后,有时处理能力明显下降,达不到设计产能。产生这种现象的原因主要与膜系统工作环境、选型设计、安装施工、运行管理和膜产
应用层安全应符合下列要求: 1、身份认证:用户口令应该加密传输,或者禁止在网络上传输;严格管理用户帐号,要求用户必须使用满足安全要求的口令; 2、访问控制:必须在身份认证的基础上根据用户及资源
应用层安全应符合下列要求: 1、身份认证:用户口令应该加密传输,或者禁止在网络上传输;严格管理用户帐号,要求用户必须使用满足安全要求的口令; 2、访问控制:必须在身份认证的基础上根据用户及资源