处理Sitecore 5.3.1中的用户身份验证

时间:2011-03-21 09:31:48

标签: .net authentication sitecore

在Sitecore 6+中,我可以使用以下代码检查用户是否已登录:

   string logonUser = base.Request.ServerVariables["LOGON_USER"];

   // check of de gebuiker geautenticeerd is (bijv. door in een andere browser venster in het beheer in te loggen.)
   if (Sitecore.Context.User.IsAuthenticated)
   {
      Response.Redirect("/", true);
   }

在Sitecore 5.3.1中。在我们的哪个客户正在运行我想要实现类似的功能。我想确定用户输入了有效凭据,然后将该用户登录到系统。之后,我希望能够通过检查每次返回网站的会话变量来确定此用户是否已登录。我找不到用于执行此操作的方法。 有什么好主意吗?

3 个答案:

答案 0 :(得分:1)

我建议您浏览Sitecore.SecurityModel命名空间,尤其是Domain类。它包含您可能觉得有用的方法(IsLoggedInLoginLogout)。您可以从here下载Sitecore API的帮助文件。

此外,Sitecore安全模型基于ASP.NET安全性从版本6开始。在5.x中,用户仍然是相应数据库中的项目。希望这些信息可以帮到你。

答案 1 :(得分:1)

我认为这样的事情应该有效:

if (Sitecore.Context.IsLoggedIn) {

} else {
  Response.Redirect("http://" + Request.Url.Host + "/sitecore/login");
}

答案 2 :(得分:0)

嗯..我认为只要在当前上下文中找到用户,就可以假设用户已被记录为ind。

所以

Sitecore.Context.User != null

可能就够了。