2010-01-22 95 views
0

我正在研究一個ASP.NET MVC應用程序,並且我有一些我想要密碼保護的視圖。不以用戶名/密碼形式auth類型的方式。當用戶試圖訪問這些受保護的頁面之一時,我希望他們必須輸入密碼。我想出了一個辦法來做到這一點,我只想得到一些驗證,這是一個很好的方法。密碼保護資源| ASP.NET MVC

當用戶訪問受保護頁面時,我正在檢查存儲在Session中的Dictionary,如果頁面的ID在那裏並標記爲解鎖,他們可以查看該頁面。如果不是,將被導向到解鎖頁面,在那裏他們將不得不輸入密碼。一旦他們輸入有效的密碼,它將更新字典,他們將能夠查看該頁面。

是一種有效的方法或任何人有更好的主意。

感謝

回答

2

這本質上聽起來像一個標準的用戶名/密碼窗體身份驗證,其中用戶名是硬編碼/在所有用戶共享。一些想法:

  1. 你會爲不同的鎖定區域有不同的密碼?如果是這樣,這聽起來像一個用戶不同的角色。
  2. 你有什麼理由不使用基於標準的用戶名/密碼解決方案(和角色可能定義什麼區域解鎖)?
  3. 假設這是一個面向公衆的網站,只需要輸入一個密碼,就可以讓黑客獲得更輕鬆的目標,因爲他們不再需要猜測用戶名/密碼組合。
  4. 你需要任何一種審計跟蹤?一個地區的許多人使用一個密碼,這使得實施起來可能更加複雜。
  5. 維護 - 這不是一個標準的解決方案,所以其他人維護它將不得不弄清楚你做了什麼,爲什麼。

我相信還有一些其他的要點,但是現在沒有什麼可以想到的。

+0

困惑的極客, 我同意!然而,我的要求是隻允許一個密碼。 雖然這是一個很常見的事情,但像Vimeo這樣的網站可以讓視頻的擁有者創建一個密碼,讓他們與任何想要的人共享密碼。 謝謝! – Paul 2010-01-22 15:56:46