【发布时间】:2016-12-27 04:59:39
【问题描述】:
我有一个带有 ASP.NET Web API 服务器的 WPF 客户端。我想为使用客户端的任何特定 Windows 用户生成一个唯一密钥,以便 Web API 可以阻止该用户的多次登录尝试。我首先考虑只使用:
Environment.UserDomainName + "\" + Environment.UserName
但这对于许多用户来说可能是一样的。我不想包含机器名称,因为我想跟踪该用户使用的任何机器。如何使用 UserDomainName + "\" + Environment.UserName 组合下的客户端应用程序为一个特定的 Windows 用户创建唯一密钥,无论他们在哪台机器上使用它?
注意:应防止用户更改密钥,以便用户更改其密钥以防止被锁定会使其无效。没有本地数据库,因此目前密钥存储在用户主目录中的用户设置文件中。但是,文件存储在哪里并不重要,他们机器上的任何管理员都可以访问它,作为家庭用户,他们通常自己就是管理员。
【问题讨论】:
标签: c# active-directory windows-authentication c#-6.0