我知道您可以这样做以获取当前用户的用户ID
(Guid)Membership.GetUser().ProviderUserKey;
但这会进行数据库查找。有没有办法在没有数据库查找的情况下获取当前用户的GUID,是否可以从auth cookie确定?
答案 0 :(得分:1)
不幸的是,没有。 Membership.GetUser()调用使用“用户名”进行此查找。
auth cookie仅包含此用户名(以及一些其他详细信息,例如问题和到期日期)
如果这是您真正需要的,您可以查询一次,并将其存储在Cookie中的UserData属性中 - Change the user data in FormsAuthenticationTicket programmatically