2010-02-27 118 views
0

我想构建和维护一个用户表。所有访问ASP.NET MVC站点的用户都通过Windows身份验证进行身份验证,因此他们必须拥有唯一的用户名。我正在抓取用户名:如何自动维护已使用Windows身份验证由IIS 7.0进行身份验证的用户表

System.Web.HttpContext.Current.User.Identity.Name 

我觉得我可以用两种方法解决这个问题。

  1. 无论何时用户表或任何引用用户表的表都被访问,我可以添加用户,如果它不存在。我担心如果用户的存在未被选中,这可能非常容易出错。
  2. 任何时候用户访问网站上的任何页面,检查该用户是否存在于数据库中,如果他们不存在,添加用户。这可能会带来很多开销,因为它会在每次页面更改时进行检查。

我想听听哪些是更好的解决方案,以及如何实施它们。

回答

1

我认为更好的方法将类似于选项2。
用户访问一个页面时,请检查会话变量以查看该用户是否针对数据库进行了检查。如果会话变量不存在,请检查该用户是否存在于数据库中,如果需要将该用户添加到您的表中,然后设置会话变量。
这样你就不必在每次请求时都击中数据库。

相关问题