public static AuthPrincipal GetAuthPrincipalFromClaims(this HttpContextBase httpContext) { var claimsPrincipal = httpContext.User as ClaimsPrincipal; var claimsIdentity = claimsPrincipal?.Identity as ClaimsIdentity; if (claimsIdentity == null) { return(null); } var authPrincipal = new AuthPrincipal(claimsIdentity.Name); Action <string, Action <string> > setClaim = (claimType, setter) => { var claim = claimsIdentity.FindFirst(claimType); if (claim != null) { setter(claim.Value); } }; setClaim(OdissClaims.Id, value => { authPrincipal.ID = Guid.Parse(value); }); setClaim(OdissClaims.UserName, value => { authPrincipal.UserName = value; }); setClaim(OdissClaims.UserType, value => { authPrincipal.UserType = (UserTypeEnum)Convert.ToInt32(value); }); setClaim(OdissClaims.Permissions, value => { authPrincipal.Permissions = (UserPermissionsEnum)Convert.ToInt32(value); }); setClaim(OdissClaims.Applications, value => { authPrincipal.Applications = SplitGuids(value); }); setClaim(OdissClaims.Groups, value => { authPrincipal.Groups = SplitGuids(value); }); setClaim(OdissClaims.Email, value => { authPrincipal.Email = value; }); setClaim(OdissClaims.FirstName, value => { authPrincipal.FirstName = value; }); setClaim(OdissClaims.LastName, value => { authPrincipal.LastName = value; }); return(authPrincipal); }
protected void Application_AuthenticateRequest(object sender, EventArgs e) { if (HttpContext.Current.User != null && HttpContext.Current.User.Identity.IsAuthenticated) { if (VirtualPathUtility.MakeRelative("~", Request.Url.AbsolutePath).StartsWith("octviewer") || VirtualPathUtility.MakeRelative("~", Request.Url.AbsolutePath) == "logo" || VirtualPathUtility.MakeRelative("~", Request.Url.AbsolutePath) == "words_js") { HttpContext.Current.SkipAuthorization = true; return; } HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); if (authTicket == null) { return; } JavaScriptSerializer serializer = new JavaScriptSerializer(); AuthPrincipalSerializeModel sm = serializer.Deserialize <AuthPrincipalSerializeModel>(authTicket.UserData); Sessions session = new Sessions(sm.ID); sm = session.Get(); // Get and save the last user action if (sm != null) { UserData userData = sm.DecryptUserData(); AuthPrincipal newUser = new AuthPrincipal(authTicket.Name) { ID = userData.ID, UserName = userData.UserName, UserType = userData.UserType, Permissions = userData.Permissions, Applications = userData.Applications, Groups = userData.Groups, Email = userData.Email, FirstName = userData.FirstName, LastName = userData.LastName }; HttpContext.Current.User = newUser; return; } } FormsAuthentication.SignOut(); new AuthLogin().CleanupSessions(); HttpContext.Current.User = null; } }
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e) { HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); UserData userData = null; try { userData = JsonConvert.DeserializeObject <UserData>(authTicket.UserData); } catch { if (!String.IsNullOrEmpty(authTicket.UserData)) { //var WebClient = new LmsWebClient(); //var result = WebClient.DownloadData<CustomerApiResult>("getcustomerbyusername", new { Username = authTicket.UserData, Role = role }); //if (result.User != null) //{ // userData = new UserData // { // Role = result.User.Role, // UserCacheKey = string.Format(CacheKey.USER_KEY, result.User.Id), // SchoolId = result.User.SchoolId, // UserId = result.User.Id, // UserNameOrEmail = authTicket.UserData // }; //} } } AuthPrincipal newUser = new AuthPrincipal(authTicket); if (userData != null) { newUser.UserId = userData.UserId; newUser.Role = userData.Role; newUser.UserCacheKey = userData.UserCacheKey; newUser.SchoolUId = userData.SchoolUId; newUser.DisplayName = userData.DisplayName; } HttpContext.Current.User = newUser; } }
protected void Application_PostAuthenticateRequest(object sender, EventArgs e) { var authCookie = Request.Cookies["AuthCookie"]; if (authCookie != null) { var authTicket = FormsAuthentication.Decrypt(authCookie.Value); var serializedModel = JsonConvert.DeserializeObject <AuthSerializeModel>(authTicket.UserData); var principal = new AuthPrincipal(authTicket.Name) { Id = serializedModel.Id, FirstName = serializedModel.FirstName, LastName = serializedModel.LastName, Roles = serializedModel.Roles }; HttpContext.Current.User = principal; } }
public dynamic GetResults(LibrarySettings.Application app, FormCollection form, AuthPrincipal user, int page = 0, string sort = "") { if (page == 0) { return(new { recordsTotal = 0, recordsFiltered = 0, data = new List <List <string> >() }); } IDictionary <string, object> searchParameters = BuildSearchParameters(app.Fields, form); var sortings = BuildSorting(sort, app.Fields); var searchOptions = new SearchOptions { SearchParameters = searchParameters, Page = page, Sortings = sortings }; var searchResult = documentSearchEngine.Search(searchOptions); var dataTableResults = GetDataTableResults(searchResult.Records, app, form, user); return(new { recordsTotal = searchResult.TotalCount, recordsFiltered = searchResult.FilteredCount, data = dataTableResults }); }
public dynamic GetResults(LibrarySettings.Application app, FormCollection form, AuthPrincipal user, int page = 0, string sort = "") { var adapter = GetAdapterForApplication(app.ID); var adapterType = adapter.GetType(); var getResultsMethod = adapterType.GetMethod("GetResults"); return(getResultsMethod.Invoke(adapter, new object[] { app, form, user, page, sort })); }