代码之家  ›  专栏  ›  技术社区  ›  rory

Kentico GetUserDataFromAuthCookie()返回空值

  •  0
  • rory  · 技术社区  · 8 年前

    我在做K10公司网站的样本。 在signoutbutton.ascx.cs我把电话转到 GetUserDataFromAuthCookie() 所以断点总是这样命中:

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

    我确信浏览器正在存储cookies,因为当我使用“保持登录”选项时,我会保持登录状态。然而, GetUserDataFromAuthCookie() 总是返回空值。

    只有当用户使用WindowsLiveID进行身份验证时,此选项才起作用吗?

    干杯,

    罗里

    1 回复  |  直到 8 年前
        1
  •  1
  •   Peter Mogilnitski    8 年前

    如果你看看 the source code of SignOutButton.ascx.cs 用户数据仅在条件内可用 if (!String.IsNullOrEmpty(CMSContext.CurrentUser.UserSettings.WindowsLiveID)) 是的。helper只是调用内部的标准asp.net方法来获取 userdata property from forms authentication ticket ,除非你自己在 authentication ticket userdata -什么也得不到。我假设在使用WindowsLiveID时,一些信息保存在用户数据中。其他时候都是空的。userdata是一个很有用的地方,可以放置一些通常需要的关于用户的信息。除非你把自己放在那里,那是空的。