我想在我的Umbraco网站上添加一个页面,只有登录Umbraco后端的用户才能访问,但我无法弄清楚Umbraco是如何进行身份验证的。
我从调试中得出的一切是,在我登录Umbraco之后,我检查了HttpContext.Current.User.Identity.IsAuthenticated,这是假的,所以它没有这样做身份验证。
有没有人知道我在哪里找到Umbraco进行身份验证检查的代码,如果用户没有登录则会将用户重新发送回登录界面?我需要抓住这个并将其扩展到我的新页面。
ANSWER
检查umbraco.BusinessLogic.User.GetCurrent()以获取当前登录Umbraco后端的用户。
答案 0 :(得分:2)
查看Umbraco的Public Access。这是Umbraco用于保护页面的机制。 Umbraco为Umbraco用户(后端)和Umbraco成员(前端)使用单独的成员资格表,因此如果您希望用户访问某些页面,则必须将用户添加两次。
您需要创建一个包含一些登录控件的登录页面。您还需要一个“错误页面”,如果他们无权查看请求的页面,则基本上是用户将被发送到的页面。 MortenBockSørensen介绍了如何在blog post中进行设置。
或者,您可以将要保护的内容放在后端的dashboard中。您甚至可以将用户控件挂钩到仪表板中,该控制板可以从节点动态提取内容。
答案 1 :(得分:2)
找到答案。您需要做的就是检查umbraco.BusinessLogic.User.GetCurrent()以查看用户是否已登录到Umbraco后端。