<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      容易的用戶密碼管理系統

      [摘要]一、功能 提供軟件的一般用戶管理系統 二、設計思路及程序實現 1.建立的表:以下表在建立時應該先加密碼,程序打開時才由程序傳遞密碼。以 避免直接用工具可打開DB文件。 ① 用戶資料表 用戶ID: 用戶登錄時輸入的用戶名。 用戶...
      一、功能
          提供軟件的一般用戶管理系統

      二、設計思路及程序實現
          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("權限")->Value>1)
                       //根據權限設置不可用菜單
                      {
                        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->ActiveTable->Close();
                  }
                 else{MessageBox(NULL,"密碼出錯,累積三次將關閉系統","密碼輸入信息
      ",MB_OK);
                      cout=DM1->PasDTable->FieldByName("出錯次數")->Value;
                      cout++;
                      DM1->PasDTable->Edit();
                      DM1->PasDTable->FieldByName("出錯次數")->Value=cout;
                      DM1->PasDTable->Post();

                      if(DM1->PasDTable->FieldByName("出錯次數")->Value
                         < DM1->PasDTable->FieldByName("出錯限制")->Value)
                        {passwdfm->Edit1->Text="";
                         passwdfm->Edit2->Text="";
                         passwdfm->ActiveControl=Edit1;
                         }
                       else
                       { MessageBox(NULL,"登錄失敗次數超過限額,請與管理員聯系",
                         "密碼輸入信息",MB_OK);
                         Application->Terminate();
                        }
                     }
              }
               else//無該用戶
                 {MessageBox(NULL,"無該用戶","密碼輸入信息",MB_OK);
                  passwdfm->Edit1->Text="";
                  passwdfm->Edit2->Text="";
                  passwdfm->ActiveControl=Edit1;
                 }
          }
      }

      3、密碼修改
          一般用戶只能修改自己的密碼,當用戶選擇該功能時,提示用戶輸入一次舊密碼,兩次新密碼。用戶可以按清除鍵重新輸入。當用戶輸入完成后,先從活動表找出
      該用戶ID,再按ID尋找用戶資料表找到該用戶,先比較舊密碼,錯誤提示從新修改,正
      確則完成修改。

      4、超級用戶可以設置/修改用戶資料表中的所有資料及密碼初始化。 


      日韩精品一区二区三区高清