我可以确定Environment class返回的值(特别是UserName和UserDomainName)是否有效?有没有办法用户可以注入这些属性返回的自己的值?这对我很重要,因为我想使用这些值进行授权。
答案 0 :(得分:2)
Microsoft声明it should be secure。
您可以使用UserName属性来识别当前线程上的用户,系统和应用程序的安全性或访问目的。它还可以用于为每个用户定制特定的应用程序。
UserName属性包装对Windows GetUserName函数的调用。用户的域帐户凭据的格式为用户的域名,' \'字符和用户名。使用UserDomainName属性获取用户的域名和UserName属性以获取用户名。
但我想,在有无限时间和金钱的敌对攻击者在场的情况下,他们可以构建自己的Windows版本,返回他们想要的任何内容,或使用驱动程序修补GetUserName等。最终你需要如果您对客户不信任,请使用类似Kerberos的内容。