首页 > 解决方案 > Kentico GetUserDataFromAuthCookie() 返回 null

问题描述

我正在开发示例 K10 公司网站。在 SignOutButton.ascx.cs 上,我将调用移至,GetUserDataFromAuthCookie()因此断点总是会像这样命中:

if (AuthenticationHelper.IsAuthenticated())
{
    string[] userData = AuthenticationHelper.GetUserDataFromAuthCookie();
}

我确定浏览器正在存储 cookie,因为当我使用保持登录选项时,我保持登录状态。但是,GetUserDataFromAuthCookie()始终返回 null。

这仅在用户使用 WindowsLiveID 进行身份验证时才有效吗?

干杯,

罗里

标签: c#kentico

解决方案


如果您查看SignOutButton.ascx.cs userdata 的源代码,仅在 condition 内可用 if (!String.IsNullOrEmpty(CMSContext.CurrentUser.UserSettings.WindowsLiveID))。助手只是调用内部的标准 asp.net 方法从表单身份验证票中获取userdata 属性,除非您自己在身份验证票 userdata中保存了一些东西- 没有什么可获取的。我假设在使用 WindowsLiveID 时,一些信息会保存在用户数据中。所有其他时间它都是空的。UserData 是一个有用的地方,用于放置通常需要的有关用户的少量信息。除非你把自己放在那里,否则它是空的。


推荐阅读