我们有一个内部的工作跟踪系统,有10个人使用。目前我们使用Forms身份验证。登录表单由用户输入其名称的文本框组成,然后我们设置表单身份验证cookie。没有密码。ASP.NET MVC Windows认证集成
FormsAuthentication.SetAuthCookie(userName, true);
我们现在可以通过调用User.Identity.Name使用用户名保存到数据库,并在屏幕上显示的各种控制器。
到目前为止,这种简单的方法已经非常完美,但现在我们已经准备好开始使用活动目录对用户进行身份验证。我们希望用户能够使用他们的域用户名和密码登录。
所以我们启用Windows身份验证。
但问题是,现在User.Identity.Name采用DOMAIN \ USER的格式。假设有可能有一天某些用户在我们的工作跟踪系统中将拥有与他们的用户名不同的域用户名。
什么是为用户分配“作业跟踪器用户名”的最佳方式,以便他们可以用他们的域用户名登录,但作业跟踪器可以使用不同的用户名登录作业并显示用户名。
我知道我可以使用会话,或者我可以打电话给数据库,但有没有更正确的方法来做到这一点?
我想将它存储在数据库中并缓存它是有意义的,但是如何检索它? – NoPyGod
我的意思是,是否有一个地方我可以设置它,并像User.Identity.Name – NoPyGod
那样容易地找回它如果你想要内置的东西,你可以使用ASP.NET Profile属性:http://msdn.microsoft。 com/en-us/library/2y3fs9xs(v = vs.100).aspx。否则,只需推出自己的。 – Joe