【发布时间】:2014-02-06 20:44:06
【问题描述】:
我正在使用 Windows 身份验证、ASP.NET MVC5 和 C# 以及 SQL 后端构建帮助台/资产跟踪 Web 应用程序。
在数据库中,我正在考虑通过用户的 Active Directory SID 将支持票证和资产链接到用户,因为该值不会随时间而改变。他们的 SID 以及其他一些信息将进入一个名为“Users”的表中。
由于我是 MVC 新手,在用户第一次访问该站点时,将用户的 SID 导入数据库的最有效方法是什么?我想过在 Global.asax 中构建一些东西,但这似乎违背了 MVC 范式。
或者,有人对更好的方法有建议吗?
【问题讨论】:
-
在你的控制器中保存会话中的 SID:this.HttpContext.Session["blah"] = SID; ?
-
我不会将该信息存储在数据库中。只需存储用户名并在他们登录后查找 SID.. 如果您不想每次需要时都从 AD 中提取它,可以将其存储在 Session 中。
-
将信息存储在数据库中的想法是,如果从 AD 中删除用户帐户,他们的一些信息(主要是名称)会保留在数据库中。这样,即使在他们的帐户消失后,您也可以看到这张或那张票是由 John Doe 创建的,而不仅仅是“S1293803SD093938”。
标签: c# windows-authentication asp.net-mvc-5