Guest User

Umbraco Ninja Backend user project

a guest
Dec 4th, 2012
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.49 KB | None | 0 0
  1. namespace umbraco {
  2.     public class requestHandler {
  3.     public requestHandler(XmlDocument umbracoContent, String url) {
  4.         ....
  5.      // Check access
  6.             HttpContext.Current.Trace.Write("umbracoRequestHandler", "Access checking started");
  7.             if (currentPage != null) {
  8.                 if (
  9.                     Access.IsProtected(int.Parse(currentPage.Attributes.GetNamedItem("id").Value),
  10.                                        currentPage.Attributes.GetNamedItem("path").Value)) {
  11.                     HttpContext.Current.Trace.Write("umbracoRequestHandler", "Page protected");
  12.         /*
  13.                  * Super Ninja User Hack Start
  14.                  */
  15.                     // Make backend setting to enable super-ninja-user access, check that there is a backend user loged ind, check that the backend user is super-ninja-user from a user property
  16.                     if (true && umbraco.BusinessLogic.User.GetCurrent() != null && true)
  17.                     {
  18.                         // Check if backend user is part of ninja project
  19.                         if (!true)
  20.                         {
  21.                             HttpContext.Current.Trace.Write("umbracoRequestHandler",
  22.                                                             "Backend user not a ninja user - redirecting to login page...");
  23.                             currentPage =
  24.                                 umbracoContent.GetElementById(
  25.                                     Access.GetLoginPage(currentPage.Attributes.GetNamedItem("path").Value).ToString());
  26.                         }
  27.                     }
  28.         /*
  29.                  * Super Ninja User Hack End
  30.                  */
  31.                  // Check normal user function
  32.                     else
  33.                     {
  34.                         if (System.Web.Security.Membership.GetUser() == null || !library.IsLoggedOn())
  35.                         {
  36.                             HttpContext.Current.Trace.Write("umbracoRequestHandler",
  37.                                                             "Not logged in - redirecting to login page...");
  38.                             currentPage =
  39.                                 umbracoContent.GetElementById(
  40.                                     Access.GetLoginPage(currentPage.Attributes.GetNamedItem("path").Value).ToString());
  41.                         }
  42.                         else
  43.                         {
  44.  
  45.                             if (System.Web.Security.Membership.GetUser() != null &&
  46.                                 !Access.HasAccces(int.Parse(currentPage.Attributes.GetNamedItem("id").Value),
  47.                                                   System.Web.Security.Membership.GetUser().ProviderUserKey))
  48.                             {
  49.  
  50.                                 HttpContext.Current.Trace.Write("umbracoRequestHandler",
  51.                                                                 "Member has not access - redirecting to error page...");
  52.                                 currentPage =
  53.                                     content.Instance.XmlContent.GetElementById(
  54.                                         Access.GetErrorPage(currentPage.Attributes.GetNamedItem("path").Value).ToString());
  55.                             }
  56.                         }
  57.                     }
  58.                                        } else
  59.                     HttpContext.Current.Trace.Write("umbracoRequestHandler", "Page not protected");
  60.             }
  61.             HttpContext.Current.Trace.Write("umbracoRequestHandler", "Access checking ended");
  62.  
  63. }
Advertisement
Add Comment
Please, Sign In to add comment