权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

第3章 用户(账户)管理

2010-05-11 09:33  通用C#系统架构  阅读(...)  评论(... 编辑 收藏

用户(账户)管理模块主要由申请用户(账户)、用户(账户)审核、用户(账户)编辑、创建用户(账户)、设置用户(账户)密码、设置用户(账户)有效状态、删除用户(账户)等等功能部分组成。

 

 

 

3-1 用户(账户)管理菜单

 

创建新用户(账户)可以由普通用户申请创建后由系统管理审核生效、也可以由系统管理员直接创建用户(账户),多种创建用户(账户)的方法可以减少系统管理员的工作量、可以更及时、准确的创建账户,将工作量分摊到多个操作人员、管理员上,可明显提高工作效率。

通常情况下、新同事的用户(账户),都由系统管理员进行录入创建生效,但是在一个大集团公司中有多个分公司的情况下或有异地办公机构时都由一个系统管理员录入账号不只是效率高低的问题,由于没在现场工作出错的概率很高,若可以在任何分公司在任何一台电脑上进行申请用户(账户)功能、甚至是直接在网上进行申请用户(账户)步骤,相对来讲比单一系统管理直接创建用户(账户)的做法工作效率会高一些,自己录入自己的账户信息或者由身边的同事帮助录入信息会更准确一些、及时一些。

自己录入自己的账户信息优点在于想用什么登录名就用什么登录名、这样在日常办公中使用信息系统也会更符合习惯一些、更贴切一些、也不用记过多的用户密码、至少可以使用自己多年习惯的用户名密码来登录业务系统。当然系统中的用户名是不可以重复的,注册时系统会自动检测是否数据已重复,若是由系统管理员创建的用户名不符合操作者的习惯又不允许用户自己可以自由修改登录用户名是一个很糟糕的事情、很恼火的事情。

在比较庞大的组织机构里有分公司有异地办公机构,使用本功能模块,还有分级审核、分级管理功能比较好,就是由某个分公司申请的账号可以由这个分公司的系统管理员进行审核管理,这个账户的权限也可以由相应的管理员进行管理等,把整个系统管理员的工作可以分摊给各个分公司的系统管理员或者授权的操作员,可以更准确掌握实际工作情况、可以更加贴近实际权限配置、管理等,同时又能支持集中式的管理模式。

 

3.1申请用户(账户)

申请用户(账户)模块主要是为了灵活、快速申请新账户功能,还没分配到系统账号的用户可这个功能模块里提交申请用户(账户)的信心,由系统管理员审核后,才可以登录业务系统。

 

 

 

3-1-1 申请用户(账户)窗体

 

准确填写好需要申请的用户名、密码、选择好所在的部门等,点击“申请账户”按钮即可进行申请步骤,非管理员申请的用户(账户)需要审核过程,在申请账户的同时,会给相应的系统管理员发送即时信息,当然在管理员离线状态下时也可以通过邮件提醒方式或者手机短信提醒模式,提醒管理者及时进行审核工作。

若需要有审核步骤,只有系统管理员进行审核通过后,所申请的账号会生效后才可以登录到相应的管理系统中。

 

 

 

3-1-2 申请用户成功后的效果

 

 

 

3-1-3 系统管理登录后的提醒信息效果

 

       若系统中有未审核的账户,系统会给系统管理员发送在线即时消息进行提醒,管理员可以在第一时间进行审核确认工作,主动提醒可提高工作效率,若无待审核账户,也没必多余的操作,这样会提高系统的友善性,使系统变得更加人性化、智能化。

 

3.2用户(账户)审核

进入用户(账户)审核功能页面,默认情况下、待审核的用户(账户)数据会列出来,系统管理员直接可以进行审核步骤,若整个系统是按分级管理方案部署的,那只会列出来当前管理员需要的数据列表出来,不是他所负责的待审核数据不会列出来。

可以通过账户审核的查询功进行模糊查询数据、可以按审核状态、默认角色等条件进行过滤查询数据,可以更准确、快速查询数据。

 

 

 

3-2-1 用户(账户)审核窗体

 

编辑功能可以对申请创建用户账号时填写信息进行修改,包括用户名、姓名、默认角色等。

 

 

 

3-2-2 用户(账户)属性窗体

 

用户(账户)被审核通过、驳回操作时,按注册时填写的邮件地址给用户发送提醒通知邮件,及时通知用户审核结果,审核通过的用户可以及时登录系统进行相应的业务操作,有邮件提醒功能可以提高工作效率、也不用打电话通知。

导出功能是将当前窗体中的数据导出为Excel格式的数据保存到本地计算机上,方便用户进行二次数据处理。

删除功能,选择好需要删除的数据,点删除按钮即可系统中被操作员误删的数据可以由数据库管理员进行恢复操作,应用系统里未进行物理删除数据、只对相应的数据打了删除标记处理,所以有误操作数据后恢复数据的可行性。

 

 

 

3-2-3 用户(账户)审核窗体

 

修改用户(账户)时不允许重复用户名、若输入了编号、编号不允许重复,系统会自动会检测数据是否已经重复、已被设置为删除标志的用户(账户)不再重复验证的范围内,系统中的登录用户名也可以由管理员进行修改、用户(账户)生效后,用户也可以自由修改用户(账户),这样更符合用户的习惯,用户的排斥心里也会少很多。

给每个新用户及时分配个合适的编号,在真实的工作实际情况下,比较难做得到,所以建议可以先不输入用户编号,等用户的编号被确定下来后可以事后进行设置比较符合实际工作习惯。

 

3.3用户(账户)管理

用户(账户)管理模块应该是系统管理员最常用的功能模块之一,在这个模块里可以直接创建用户(账户)、修改用户(账户)信息、可以设置用户的密码。

用户(账户)管理功能也能实现分级管理功能,例如每个分公司管理每个分公司的账户、由超级管理员管理所有的用户(账户)功能。

员工离职时不建议直接删除用户(账户),而是停用用户(账户),例如员工离职了,很多系统中的历史真实数据记录不应该被删除,员工离职时可能最后一个月的工资还没发放,相关的离职手续也没办理好,应该将用户设置为停用状态(取消有效状态),用户(账户)被随便删除后有可能会引起系统中其他相关数据出现关联错误的隐患。

员工离职后,就把账户删除了,可能会引发一些数据关联性、引用上的错误,例如人走了,以前的工资数据、工作日志数据、项目数据等等都已是发生过的真实数据,不应该把这个用户给删除了,相关数据都应该作为历史数据保留下来、留下历史痕迹才是正确的做法。

按道理,一切数据都不应该进行物理删除,而是进行逻辑删除才对,例如进行了删除操作,只是给数据打上一个删除标志(例如数据表里的DeleteMark字段标志设置为1、表示已经被删除了),若真需要删除数据,应该由数据库管理员进行真正的物理删除操作,物理删除一条数据是非常容易,但是由于误删了一条数据,想把这条数据再恢复过来的代价往往是非常昂贵的,可能要花费10倍、100倍的代价才能把这个数据恢复过来,就是提醒了用户是否确认删除?用户也按了确认也不应该进行物理删除操作。

 

 

 

3-3-1 用户(账户)管理窗体

 

         添加新用户(账户)的效果图如下,当然这个窗体也可以进行二次开发,按自己的需要增加字段等等,例如把手机号码、电子邮件地址也录入进来或进行一些其他的相关连的事务处理。

         系统管理员账户不应该轻易的被删除、用户名、编号等不应该重复的检查,当然不设置编号也是可以的,新来的员工一般都没有明确的编号,可以事后再补充也是很常见的,新建账户时必须要输入编号,而且必须输入个不重复的编号相对友善度不高、属于系统缺乏人性化、考虑不周全。 

 

  3-3-2 申请账户

也可以采用简易版本的添加账户、适合小型信息系统添加用户,不用区分所在公司、所在部门等,相对简单高效一些。

图3-3-3 添加用户

 

    管理员可以给用户重置密码、重置密码后,能直接发到用户手机短信是最理想的、可以重置密码相对简单一些,用户登录系统后第一时间可以修改密码、修改为符合安全要求的密码,若给用户发送的密码太复杂了,用户都无法快速登录到系统里来,或者产生一大堆说不清楚密码的事情,严重影响效率,当然也可以把新密码发送到微信上去,减少没必要的短信费用。

   谁什么时候给谁重置了密码,什么ip地址等都需要严格保存起来,各种安全审计用。

   发邮件也可以,但是经常被各种拦截,还是能发微信等更靠谱一些,更实在一些,现在邮箱人的人也开始少起来了,比以前少了很多了,特别是微信用得多了以后。

  3-3-4 重置密码

 

 可以只每个用户在不同的业务系统里的权限、所属角色等等、可以在每个业务系统里的权限都可以不相同、也容易建立独立的测试系统、完全隔离开的测试系统的建设还是很有帮助的。

 3-3-5 用户权限设置

 

用户(账户)的导出功能,主要是为了以下几个工作需要,可能做的是一个会员管理系统,定期需要给会员发送手机短信、宣传邮件提醒等功能,已经购买了相应的软件或者服务,经常需要把数据导出后,快速导入到相应的另外软件系统里,达到数据共享的目的。同时定期导数数据到其他文件中也起了一个备份数据的用途,用户的数据是宝贵的资源,是我们收入来源都是通过用户来的,所以这部分数据的备份工作意识需要强一些,客户的数据都丢了,怎么联系客户、怎么保障稳定的收入呢。

      当然数据到导出功能也可以按客户的个性化需要,进行二次开发,按自己的实际需要修改源码或者做一些接口处理等等,甚至直接可以到数据库中进行处理,因为相应的表结构等都有明确的定义。

      有些用户的账户又不能失效、又不想让这个用户登录,那可以由管理元来设置这个账户的密码,这样这个用户就不能登录到信息系统里来了,也不用修改无效状态就可以了。

      系统中的用户名是允许修改的,这一点很多系统做得都有些不友善,例如系统管理员给我分配了一个我不喜欢的账户名,我想修改也改不了,就想改,也麻烦一些,设置是需要一个过程等等,所以自己愿意用什么用户就用什么用户名还是很有必要的,当然系统管理员也应该能干涉,能管理是非常必要的。

   

  一个大型信息系统、可能有上千个权限划分、每个人有什么权限可以灵活设置,也可以按角色设置都没关系的,权限体系很庞大也没关系,可以按分类高效读取出来用户的最终权限的。

 图3-3-6 用户模块菜单权限设置

 一个用户可以在多个角色里,谁什么时候加入到哪个角色、安全级别是否吻合、都需要清清楚楚,都需要经得起安全审计。

一个用户到底最后有多少权限?可以快速导出权限可供备份、讨论、审计用。

用户的访问限制、哪个mac地址才可以登录?哪个ip地址才可以登录?

用户信息编辑、可以记录详细的修改记录、日常维护用户的个人信息。

发送站内建议信息、用户登录时提醒用户,在线用户可以弹出提醒信息等等。

做一个友善的信息系统、需要考虑很多因素、安全审计问题、操作规范问题、公司的实际要求等等,不断维护改进才能有个成熟稳定的信息系统。

 

一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 在页面中的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 数据集权限的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级管理
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级授权

疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 数据集权限

 

 

  

 



C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友