Umbraco如何保护其内部CMS页面?

时间:2013-03-14 17:25:18

标签: authentication umbraco

我想在我的Umbraco网站上添加一个页面,只有登录Umbraco后端的用户才能访问,但我无法弄清楚Umbraco是如何进行身份验证的。

我从调试中得出的一切是,在我登录Umbraco之后,我检查了HttpContext.Current.User.Identity.IsAuthenticated,这是假的,所以它没有这样做身份验证。

有没有人知道我在哪里找到Umbraco进行身份验证检查的代码,如果用户没有登录则会将用户重新发送回登录界面?我需要抓住这个并将其扩展到我的新页面。

ANSWER

检查umbraco.BusinessLogic.User.GetCurrent()以获取当前登录Umbraco后端的用户。

2 个答案:

答案 0 :(得分:2)

查看Umbraco的Public Access。这是Umbraco用于保护页面的机制。 Umbraco为Umbraco用户(后端)和Umbraco成员(前端)使用单独的成员资格表,因此如果您希望用户访问某些页面,则必须将用户添加两次。

您需要创建一个包含一些登录控件的登录页面。您还需要一个“错误页面”,如果他们无权查看请求的页面,则基本上是用户将被发送到的页面。 MortenBockSørensen介绍了如何在blog post中进行设置。

或者,您可以将要保护的内容放在后端的dashboard中。您甚至可以将用户控件挂钩到仪表板中,该控制板可以从节点动态提取内容。

答案 1 :(得分:2)

找到答案。您需要做的就是检查umbraco.BusinessLogic.User.GetCurrent()以查看用户是否已登录到Umbraco后端。