1

我们有一个内部工作跟踪系统,可供 10 人左右使用。目前我们使用表单身份验证。登录表单由一个文本框组成,用户在其中输入他们的姓名,然后我们设置表单身份验证 cookie。没有密码。

FormsAuthentication.SetAuthCookie(userName, true);

我们现在可以使用用户名保存到数据库并通过调用 User.Identity.Name 在各种控制器的屏幕上显示。

到目前为止,这种简单的方法已经完全足够了,但是现在我们已经准备好开始使用活动目录对用户进行身份验证了。我们希望用户能够使用他们的域用户名和密码登录。

所以我们启用 Windows 身份验证。

然而,问题是现在 User.Identity.Name 采用 DOMAIN\USER 格式。也有可能有一天,某个用户的域用户名将与我们的工作跟踪系统中的用户名不同。

为用户分配“作业跟踪器用户名”的最佳方法是什么,以便他们可以使用其域用户名登录,但作业跟踪器可以记录作业并使用不同的用户名显示人员姓名。

我知道我可以使用会话,或者我可以调用数据库,但是有更正确的方法吗?

4

2 回答 2

0

首先决定将信息存储在哪里。这可以是数据库、Active Directory 或其他任何东西。然后决定如何维护它(例如管理 UI,可能受基于角色的安全性保护。或者如果它存储在 Active Directory 中,您可以将这项工作委派给您的 AD 管理员)。

之后进行查找很简单,并可能将查找到的值缓存在 Session 中,或者可能在 Cache 中。

于 2012-11-22T21:13:24.170 回答
0

最后我切换到表单身份验证,因为 Windows 身份验证在某些安卓手机上不起作用。我还使用 ActiveDirectoryMembershipProvider 针对域对用户进行身份验证。有关更多信息,请参阅我关于此主题的其他问题。

于 2013-01-03T01:02:02.930 回答