我知道你可以这样做来获取当前用户的用户 ID
(Guid)Membership.GetUser().ProviderUserKey;
但这会进行数据库查找。有没有办法在没有数据库查找的情况下获取当前用户的 GUID,可以从 auth cookie 中确定吗?
我知道你可以这样做来获取当前用户的用户 ID
(Guid)Membership.GetUser().ProviderUserKey;
但这会进行数据库查找。有没有办法在没有数据库查找的情况下获取当前用户的 GUID,可以从 auth cookie 中确定吗?
很不幸的是,不行。Membership.GetUser() 调用使用“用户名”进行此查找。
auth cookie 仅包含此用户名(以及一些其他详细信息,例如问题和到期日期)
如果这是您真正需要的东西,您可以查找一次,并将其存储在 cookie 的 UserData 属性中 -以编程方式更改 FormsAuthenticationTicket 中的用户数据