public ResultBase Auth() { var r = new ResultBase(); var wts = new WebTicketService(RequestContext); if (!wts.AuthTicket(PPLService.ThreadIdentity.Name)) { r.LastError = new Exception("Authentication failed"); } else { var s = new WebPPLService(RequestContext); s.GetCurrent().Authorize(new[] { new URole("admins", 100) }); } return r; }
public IHttpHandler GetHttpHandler(RequestContext requestContext) { string handler = requestContext.RouteData.Values["handler"].AsString(true); if (!string.IsNullOrEmpty(handler)) { if (Mappings.ContainsKey(handler)) { RouteInfo info = Mappings[handler]; if (info != null) { var wis = new WebPPLService(requestContext); var p = wis.GetCurrent(); if (info.Authenticate(p)) { return CreateHandler(requestContext, info); } else { return ForbiddenHandler; } } } } return NotFoundHandler; }