![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 小羊 ![]()
![]() |
我想要加一個功能 如果這個使用者輸入帳號或密碼錯誤三次 把使用者鎖起來不能進入此網頁 要管理員把它解除或幫它創一個新的 這樣要怎麼寫?? 請大大幫幫我 |
別忘捐VP感謝幫助你的人 | 新手會員瞧一瞧 |
1樓 |
資料表增加一個欄位 紀錄登入失敗次數 失敗一次+1次
登入時增加條件 失敗次數超過3次不能登入 設計一個管理頁面 顯示所有失敗次數遭過3次的帳號 讓管理員能解除封鎖 讓失敗次數歸零
本篇文章回覆於2017-11-14 16:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓 |
如果,您是在建專案的時候,直接使用MemberShip或者Identity,由系統幫您產生資料庫
那麼對於資料存取不知如何處理,登入驗證不知如何處理,就會有困擾 如果,您是使用自己的資料庫,驗證是自己撰寫的程式來驗證使用者輸入的帳號密碼 這樣,接下來的問題就不難了 同#1的大大所說,資料表中新增一個欄位,然後每次登入失敗就+1,登入成功就重設為0 登入的時候,增加一個檢查,如果該欄位數字>=3,就傳回登入次數超過3次,請聯絡系統人員解除 系統人員解除,也就是把資料表的該欄位,重設為0 所以,如果您該開始寫系統,用的是內建幫您建立的資料庫 小喵建議您,或許您可以改為使用自己的資料庫,自己撰寫登入驗證 您可以參考以下這一篇 https://dotblogs.com.tw/topcat/archive/2008/03/05/1237.aspx 有問題請再提出唷 ^_^
本篇文章回覆於2017-11-14 18:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓
作者回應
小羊 ![]() |
我是用asp.net自己建的資料庫
我是新手所以程式不太會寫 那要怎麼抓取資料庫的資料+1呢?
本篇文章回覆於2017-11-15 08:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓 |
怎麼抓取資料庫的資料+1呢 一句Sql語法就可以囉 類似以下這樣 ^_^
本篇文章回覆於2017-11-15 09:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
作者回應
小羊 ![]() |
sqlTxt是不是要宣告甚麼啊?
LohinCnt是不是自己宣告的錯誤名稱 @UserId是不是某個使用者的名稱?
本篇文章回覆於2017-11-15 09:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
小羊 ![]() |
sqlstring = ""
sqlstring &= "UPDATE [member]" sqlstring &= "SET error = error+1" sqlstring &= "WHERE account = R.Cells(0)" cn.Open() cm.Connection = cn cm.ExecuteNonQuery() cn.Close() 他出現錯誤 ExecuteNonQuery: CommandText property has not been initialized
本篇文章回覆於2017-11-15 09:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓 |
R.Cells(0)必須用參數的方式給予值
本篇文章回覆於2017-11-15 09:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓
作者回應
小羊 ![]() |
我完整的判斷程式在這邊 上面是帳號正確密碼正確跑的 下面是帳號正確密碼錯誤跑的 cm.ExecuteNonQuery()這一行還是跑出錯誤 Object must implement IConvertible.
本篇文章回覆於2017-11-15 10:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓 |
改成這樣試試
本篇文章回覆於2017-11-15 10:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
10樓
作者回應
小羊 ![]() |
還是一樣的問題
程式頁面給的錯誤是Failed to convert parameter value from a DataControlFieldCell to a String.
本篇文章回覆於2017-11-15 10:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
11樓
最有價值解答
Jerry ![]() ![]() |
改第9行
本篇文章回覆於2017-11-15 10:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
12樓
作者回應
小羊 ![]() |
解決這個問題了
接下來我是不是只要在前面輸入帳號正確時 判斷它的error次數有沒有>=3 如果有就顯示label:錯誤次數過多請聯絡之類的?
本篇文章回覆於2017-11-15 10:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
13樓 |
情況一:
error >= 3 禁止登入,給予登入者警告訊息,且需通知管理員解除封鎖方能重新開通 情況二: error < 3 允許登入,若error > 0則登入成功後必須將error的值歸零 情況三: error = 0 允許登入,無需做任何動作
本篇文章回覆於2017-11-15 10:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
14樓
作者回應
小羊 ![]() |
現在問題是程式改成這樣 就算輸入正確的帳號密碼他也不能進去
本篇文章回覆於2017-11-15 10:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
15樓 |
你的R.Cells(4).Text < 3將error歸零後
仍要讓使用者登入
本篇文章回覆於2017-11-15 11:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |