如果通过ProtectedData CurrentUser使用加密,并且我有一个使用Forms auth的站点(使用自定义成员资格模块,不要认为这会产生影响),它是否可以在多个不同的Web服务器上运行?
我的猜测是,如果使用的当前用户是User.Identity,那将是登录用户,并且在任何Web服务器上都是相同的。
文档似乎没有说明使用ASP.NET。
答案 0 :(得分:1)
“当前用户”将是运行asp.net应用程序的用户(而不是访问该站点的用户)。通常这是/ ASPNET用户帐户,但可以更改。您可以使用WindowsIdentity.GetCurrent()
功能验证这一点。
您的另一个选择是使用DataProtectionScope.LocalMachine
将其存储在机器商店中(可从机器上的任何帐户加入)。虽然这可能看起来不那么安全,如果您使用的是非特权帐户(如ASPNET用户),那么任何人都可以编写应用程序以作为该用户运行并获得对该用户存储的访问权。