我们有一个内部工作跟踪系统,可供 10 人左右使用。目前我们使用表单身份验证。登录表单由一个文本框组成,用户在其中输入他们的姓名,然后我们设置表单身份验证 cookie。没有密码。
FormsAuthentication.SetAuthCookie(userName, true);
我们现在可以使用用户名保存到数据库并通过调用 User.Identity.Name 在各种控制器的屏幕上显示。
到目前为止,这种简单的方法已经完全足够了,但是现在我们已经准备好开始使用活动目录对用户进行身份验证了。我们希望用户能够使用他们的域用户名和密码登录。
所以我们启用 Windows 身份验证。
然而,问题是现在 User.Identity.Name 采用 DOMAIN\USER 格式。也有可能有一天,某个用户的域用户名将与我们的工作跟踪系统中的用户名不同。
为用户分配“作业跟踪器用户名”的最佳方法是什么,以便他们可以使用其域用户名登录,但作业跟踪器可以记录作业并使用不同的用户名显示人员姓名。
我知道我可以使用会话,或者我可以调用数据库,但是有更正确的方法吗?