2014-03-25 30 views
0

我有一个网站,我试图迁移到我的Sitecore实例。 Sitecore实例有多个站点。对于我尝试迁移的网站,有一个供外部用户登录的登录页面。我正在验证这个对外部数据库。这一切迄今为止都有效。我的问题是我需要防止外部用户访问某些页面而不登录(他们应该被重定向到登录页面)。当站点位于Sitecore之外时,这种方式起作用的是,表单身份验证正在完成,并且当页面试图在用户未登录的情况下访问时,ReturnURL将用于将用户返回到正确的页面登录。Sitecore Extranet身份验证

我不知道如何做到这一点,现在我有我的sitecore实例内的多个网站。

有什么建议吗?

回答

1

这与Sitecore之前的操作方式并无太大区别,除非您现在可以通过Sitecore安全编辑器登录用户来控制哪些页面的安全性。有几件你需要连接起来才能正常工作。

必须通过这些文章读,他们应该提供你所需要得到的一切这个工作:

套装使用patch config将web.config中的<setting name="NoAccessUrl" value="/sitecore/service/noaccess.aspx" />的值设置为您的登录页面(这可以是Sitecore中的项目),并且如果用户尝试访问受限制的页面,他们将被重定向到该页面ge,它还将包含返回url参数。

如果您使用的是外部数据库,然后进行身份验证的用户,您还需要实现自己的成员提供:

一定要正确设置domain属性您的<site>定义为您在domains.config中设置的任何内容,并设为您的<provider>定义的providerName银行足球比赛。

+0

如果在没有登录的情况下不应该访问的页面上看到任何问题,我检查用户是否已登录,如果没有,我只是将它们重定向到登录页面?这对我来说会容易得多。我阅读了“设置Sitecore Extranet”文章,在我看来,至少当用户注册该网站时,他们需要在实际登录之前添加到角色中。我不认为这是功能I真的很想。 – AspUser7724

+0

我没有看到任何问题,如果需要,您可以处理重定向,但是您可以在注册时以编程方式将用户添加到必要的角色。这样,安全性就可以从Sitecore中设置,并且可以由高级用户进行更改,您可以根据需要添加/删除角色和内容部分,并且意味着什么都不是硬编码。 – jammykam

+0

哦,好的,感谢您的回复。谢谢。如果我保持它当前的方式,我通过调用server.urlencode并附加登录页面的LinkManager.GetItemUrl来设置返回URL。问题在于登录页面的url如下所示:http:// mysite/login?ReturnUrl = http%3a%2f%2fsitecore%2fpage1%2fpage2%2fpage3%3fid%3d14。有没有办法让网址看起来像一个正确的重定向网址?而不是给整个路径? – AspUser7724