简单的用户密码管理系统

千秋功过由你说

千秋功过由你说

2016-02-19 13:13

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

  一、功能
    提供软件的一般用户治理系统
  二、设计思路及程序实现
      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
展开更多 50%)
分享

猜你喜欢

简单的用户密码管理系统

编程语言 网络编程
简单的用户密码管理系统

用户分级管理系统界面UI设计欣赏

平面设计 标志设计 UI设计 VI设计
用户分级管理系统界面UI设计欣赏

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux系统中基本的用户管理方法

服务器
Linux系统中基本的用户管理方法

MySQL用户管理

PHP
MySQL用户管理

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MailStore邮件归档软件怎么修改管理员用户密码

电脑网络
MailStore邮件归档软件怎么修改管理员用户密码

Windows7系统设置用户账户密码的方法

电脑网络
Windows7系统设置用户账户密码的方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

正则表达式

正则表达式

获取WinNT/Win2k当前用户名和密码

获取WinNT/Win2k当前用户名和密码
下拉加载更多内容 ↓