2010-01-22 69 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