简单的用户密码管理系统

2016-02-19 13:13 1 1 收藏

图老师小编精心整理的简单的用户密码管理系统希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】


  一、功能
    提供软件的一般用户治理系统
  二、设计思路及程序实现
      1.建立的表:以下表在建立时应该先加密码,程序打开时才由程序传递密码。以避免直接用工具可打开DB文件。
    
        ① 用户资料表
           用户ID:   用户登录时输入的用户名。
           用户姓名:  用户的真实姓名。
           密码:      用户密码(在存入前应该进行必要的加密)
           权限:      用户级别。
           有效期开始:该帐号从何时开始有效(下面程序没利用该功能)
           有效期截止:何时该帐号不能用。
           是否有效:  可以让该用户暂时为不可用。
           出错次数:  用户连续输错密码次数(当有正确输入时复位)
           出错限度:  答应输错密码次数,假如超过该限度,该用户置为不可用,必须找治理员为其复位。
           备注:      必要的说明。
  
         ② 活动表:
            用户ID:   记录进入系统的用户ID.
            活动状态:  该用户是否是当前活动用户。(程序答应A用户进入后,不必 退出系统而让B用户进入,A用户被置为非活动用户,当B退出后A被变为活动用户,只有第一个用户才能退出系统,同时清空活动表)
  
   2. 进入系统的验证
  
      ① 供用户进入系统的密码输入窗口。
  
      ② 当用户输入完成后,首先打开用户资料表,检查该用户是否存在,若不存在,清空用户输入,提示不存在该用户,让用户从新输入,用户名输入错误这里将不作次数限制。
  
      ③ 若存在该用户,接着验证密码,假如正确,根据用户的使用期限,是否有效作判定,并根据结果作出是否答应用户进入系统。假如不答应,给出相应的提示后关闭系统。否则,根据用户的级别置某些功能不能使用,同时在活动表中记录该用户已进入,并复位出错次数字段。
    
      ④ 假如存在该用户,但密码错误,用户资料表中的出错次数加一。让用户从新输入。
  
      ⑤ 实现部分功能的程序
      void __fastcall Tpasswdfm::Edit2KeyDown(TObject *Sender, Word &Key,
         TShiftState Shift)
      {
      String userID;
      bool endflag=0;
      short cout=0;
      if(Key==VK_RETURN)
       {
         userID=Edit1-Text;
         Session-AddPassword(123456);
  
          DM1-PasDTable-Active=true;
         DM1-PasDTable-FindFirst();
  
         while((!DM1-PasDTable-Eof) && (!endflag))//找到用户
          {
            if(DM1-PasDTable-FieldByName("用户代码")-Value==userID)
             { endflag=1;
             }
              else {DM1-PasDTable-Next();}
          }
  
         if(endflag)//找到了用户
          {
           if(DM1-PasDTable-FieldByName("密码")-Value==
                 passwdfm-Edit2-Text)
              {
                DM1-PasDTable-Edit();
                cout=0;
                DM1-PasDTable-FieldByName("出错次数")-Value=cout;
                DM1-PasDTable-Post();
                if(DM1-PasDTable-FieldByName("权限")-Value1)
                   //根据权限设置不可用菜单
                  {
                    Main-N5-Enabled=false;
                  }
                 else {
                         Main-N5-Enabled=true;
                      }
                Session-RemovePassword(123456);
  
                 DM1-PasDTable-Close();
                passwdfm-Close();
  
                Session-AddPassword(123456);// 用户使用表登记
                DMPaswd-ActiveTable-Active=true;
                DMPaswd-ActiveTable-FindFirst();
                DMPaswd-ActiveTable-Insert();
                DMPaswd-ActiveTable-FieldByName
                        ("用户代码")-Value=userID;
                DMPaswd-ActiveTable-FieldByName("活动状态")-Value=true;
                DMPaswd-ActiveTable-Post();
                Session-RemovePassword(123456);
                DMPaswd-Acti

来源:https://www.tulaoshi.com/n/20160219/1603374.html

延伸阅读
标签: windows系统
如何为Win8系统用户创建电源管理方案   系统电源管理默认有三种方案:平衡,高性能,节能。当你网页浏览,听听歌曲,文字处理等可以选择平衡方案。玩大型3D游戏,处理图片选择高性能方案。挂机下载选择节能方案。不过切换电源方案,要先进入控制面板找到电源管理,再切换模式,有点麻烦,所以很多用户没有把这功能给利用好。下面教大...
UI设计师Artec的一个政府项目的前端设计。
标签: Web开发
应网友的要求,做了个用MD5加密用户密码的示例,现在示例放上来,高手就不用看了 , 比较简单,就不做说明了,看代码就明白了。数据库在DataBase目录里,附加进去就好了,修改 web.config 里的数据库连接: appSettings   !--数据库连接--   add key="MD5" value="server=jiang;uid=sa;pwd=;database=MD5" / ...
标签: 服务器
Linux用户系统中的群组与群组管理员讲解   关于群组: 有效与初始群组、groups, newgrp 代码如下: # /etc/group 这个档案就是在记录 GID 与群组名称的对应了~我的 /etc/group 内容有点像这样: 代码如下: root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,b...
标签: 电脑入门
问:在Windows XP下打开任务管理器,在进程中用户名一列无法显示用户名了,整列都是空白。即使在菜单中查看→选择列里进行设置,也依然无法显示,请问怎么办? 答:这是由于系统没有启动服务Terminal Services所造成的。运行services.msc,找到服务Terminal Services,双击打开其属性。然后在常规选项卡的启动类型下拉框中选择手动或自动,...

经验教程

620

收藏

39
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部