//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ private static IApiResponse PostLogin(IApiRequest pApiReq) { if (pApiReq.GetFormValue(LoginCancel, false) != null) { return(PostLoginCancel(pApiReq)); } if (pApiReq.GetFormValue(LoginLogout, false) != null) { return(PostLoginLogout(pApiReq)); } if (pApiReq.GetFormValue(LoginLogin, false) != null) { return(PostLoginLogin(pApiReq)); } if (pApiReq.GetFormValue(LoginAllow, false) != null) { return(PostLoginScope(pApiReq, true)); } if (pApiReq.GetFormValue(LoginDeny, false) != null) { return(PostLoginScope(pApiReq, false)); } return(null); }
/*--------------------------------------------------------------------------------------------*/ private static IApiResponse PostLoginLogin(IApiRequest pApiReq) { Action <IApiResponse> getResp = (apiResp => { string user = pApiReq.GetFormValue(LoginUsername, true); string pass = pApiReq.GetFormValue(LoginPassword, true); bool rem = (pApiReq.GetFormValue(LoginRememberMe, false) == "1"); string clientId = pApiReq.GetQueryValue(LoginClientIdParam, false); string redirUri = pApiReq.GetQueryValue(LoginRedirectUriParam, false); var op = new OauthLoginPostOperation(); OauthLoginResult result = op.ExecuteLogin(pApiReq.OpCtx, new OauthLoginTasks(), clientId, redirUri, user, pass); if (result.ShowLoginPage) { apiResp.Html = new LoginPageView(result).ToHtml(); return; } if (result.Code != null) { apiResp.RedirectUrl = BuildRedirectUri(result.Redirect, result.Code, pApiReq.GetQueryValue(LoginStateParam, false)); } else { apiResp.Html = new LoginScopeView(result).ToHtml(); } apiResp.SetUserCookie(result.LoggedUserId, rem); }); var exec = new CustomExecutor(pApiReq, getResp, OnLoginException); return(exec.Execute()); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ private static IApiResponse Execute <TDom, TApi, TOp>(IApiRequest pApiReq) where TDom : Vertex where TApi : FabVertex where TOp : ICreateOperation <TDom, TApi>, new() { Func <IList <TApi> > getResp = (() => { string json = pApiReq.GetFormValue("Data", true); var o = new TOp(); TDom result = o.Execute( pApiReq.OpCtx, new CreateOperationBuilder(), new CreateOperationTasks(), json); return(new List <TApi> { o.ConvertResult(result) }); }); var exec = new FabResponseExecutor <TApi>(pApiReq, getResp); return(exec.Execute()); }