2011-05-30 60 views
0

想知道是否可以獲得有關解決此身份驗證問題的最佳方法的一些建議。Web應用程序身份驗證設計問題

我有一個商店網絡應用程序,由於商店的性質,任何用戶都必須經過身份驗證才能查看或使用它。所有用戶都可以通過單一登錄表單訪問該商店。

有4個級別的用戶,超級用戶(我),店鋪經理,店員和顧客。

我的問題是什麼類型的認證用於每種類型的用戶,它應該是基於電子郵件?或基於某種用戶名?

商店經理會來我們的網站,並創建一個新的商店,我很高興他們應該使用電子郵件地址和密碼進行身份驗證。商店經理將爲店員和顧客創建賬戶。對於客戶來說,我很高興他們通過電子郵件地址和密碼進行身份驗證。但是,我應該爲店員使用什麼?我認爲它不適合他們使用他們的個人電子郵件地址作爲一個純粹專業的賬戶,您怎麼看?此外,我可以預見,經理可能會創建一個單一的工作人員帳戶,使其登錄,並且所有工作人員都將使用這一個帳戶,因此再次,電子郵件地址將不合適。

所以這些是我能想到的解決方案,但都有問題:

店長創建具有用戶名和密碼存儲的工人帳戶。與此相關的問題是,因爲所有對網站的訪問都是通過一次登錄,他們可能花費很長時間試圖找到尚未被使用的用戶名。

創建店鋪工作人員時,會爲其分配唯一的登錄標識,例如0002014,並連同密碼一起用於驗證。問題在於登錄ID很難記住。

我還考慮過有一個用戶名,它與商店名稱(這是唯一的)結合在一起,但想不出一種優雅的方式來使它工作,它看起來不像電子郵件地址。

任何人都有上述偏好?或希望能提出更好的解決方案。謝謝閱讀。

+0

你真的需要解釋登錄嗎?讓用戶用他喜歡的任何東西來填充它。也許這聽起來太革命了,但有時你只能使用密碼。 – artplastika 2011-05-30 14:36:51

+1

只有密碼?沒門。使用蠻力更容易 – jgauffin 2011-05-31 13:04:38

回答

1

好問題。使用電子郵件也是僱傭的好方案。原因是

  1. 現在你可以得到很多免費的電子郵件帳戶。因此,不想使用個人電子郵件的員工可以創建一個並使用。

  2. 如果商店經理想要爲所有人使用一個帳戶,那麼他可以創建一個普通的電子郵件並使用。

  3. 如果我們使用電子郵件,可以快速實施重置/忘記密碼。

  4. 易於檢查用戶名可用性與用戶名和電子郵件的混合比較。

  5. 由於您使用的是同一頁面登錄,如果電子郵件是唯一的,它很容易獲得登錄人員的角色。

希望它有幫助。

+0

它確實有幫助,感謝您的意見。 – dangerousdave 2011-05-31 10:33:46

1

大多數基於Web的系統我用這些天往往用戶名和密碼,根據是,但相當多的使用電子郵件,以及如果我沒有記錯...

這是另一點,如果你想仔細考慮哪些細節用於身份驗證,您還應該考慮其他身份驗證相關方案;我今天訪問的很多網站都記住了你的登錄信息 - 以至於我不記得它們是用戶名還是電子郵件。

電子郵件的好處在於它是獨一無二的。我認爲「強迫」人們使用電子郵件並不是什麼大不了的事情 - 這取決於他們使用哪一個。如果他們需要一個工作相關賬戶的電子郵件地址,那麼它應該是一個工作相關的電子郵件地址 - 但這是他們的問題。

另一方面是您使用的平臺;我敢肯定,ASP.NET的開箱即用角色和成員資格提供程序默認使用用戶名登錄。因此,如果您利用現有的框架,可能會爲您做出某種決定。

最後,根據不同的方法,還有像您可以使用的OpenID一樣的聯合身份驗證系統/提供程序 - 因此您甚至不需要編寫大量的用戶/安全管理工具 - 如果用戶可以重新使用他們已經熟悉的一組憑據,它將使用戶更容易。我沒有看過它,但我認爲有可能登錄Yahoo/Google/FaceBook賬戶等用戶的東西。

+0

Adrian的一些優點,特別是強迫他們使用電子郵件地址。謝謝 – dangerousdave 2011-05-30 15:32:27