2011-03-21 50 views
0

处理用户身份验证在Sitecore的6+我可以使用下面的代码来检查wheter用户已被记录:在Sitecore的5.3.1

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。我们的客户之一正在运行我想实现类似的功能。我想确定用户是否输入了有效凭证,然后将该用户登录到系统。之后,我希望能够通过在每次返回网站时检查会话变量来确定该用户是否已登录。我无法找到用于执行此操作的方法。 任何明智的想法?

回答

1

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

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

+0

再次感谢严。我已经有了解决方案,但你的答案最接近我的发现:)。 – Younes 2011-03-22 09:07:08

0

嗯..我认为只要能够在当前上下文中找到用户,就可以假定用户已登录ind。

所以

Sitecore.Context.User != null 

可能是不够的。

+0

这不是如何解决这个问题。 – Younes 2011-03-22 09:07:30

1

我觉得这样的事情应该工作:

if (Sitecore.Context.IsLoggedIn) { 

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