public IEnumerable <object> GetUsersByCompany(int id) { try { using (var db = new Adlumen2SocEntities()) { var users = db.Database.SqlQuery <UserWithRole>(@" SELECT su.IdUsuario, su.Nombre, anr.Name as Role FROM Sys_Usuarios su LEFT JOIN Sys_Usuarios_Empresas sue ON su.IdUsuario = sue.IdUsuario LEFT JOIN AspNetUsers anu ON su.IdUsuario = anu.IdLocal LEFT JOIN AspNetUserRoles anur ON anu.Id = anur.UserId LEFT JOIN AspNetRoles anr ON anr.Id = anur.RoleId WHERE sue.IdEmpresa = @p0 AND anr.Name IN ('digitador', 'evaluador', 'gerente') AND anu.IdTenant = @p1", id, TenantUtil.GetTenantFromUrl().Id).ToList(); return(users); } } catch (Exception) { throw; } }
private void RenderReport(string reportpath, List <ReportParameter> parameters = null) { var User = ConfigurationManager.AppSettings["reporting:user"]; var Pass = ConfigurationManager.AppSettings["reporting:pass"]; var ReportServerUrl = ConfigurationManager.AppSettings["reporting:url"]; var uri = new Uri(ReportServerUrl); var irsc = new CustomReportCredentials(User, Pass, string.Empty); viewer.Visible = true; viewer.ServerReport.ReportServerCredentials = irsc; viewer.ServerReport.ReportServerUrl = new Uri(uri.AbsoluteUri); viewer.ServerReport.ReportPath = reportpath; parameters.Add(new ReportParameter("ConnectionString", ConfigurationManager.ConnectionStrings["Reporting"].ConnectionString)); var tenant = TenantUtil.GetTenantFromUrl(); if (tenant == null) { throw new Exception("no tenant"); } parameters.Add(new ReportParameter("IdTenant", tenant.Id.ToString())); if (parameters != null && parameters.Count != 0) { viewer.ServerReport.SetParameters(parameters); } viewer.ServerReport.Refresh(); }
public async Task AuthenticateAsync(HttpAuthenticationContext context, CancellationToken cancellationToken) { var url = context.Request.RequestUri; var tenant = TenantUtil.GetTenantFromUrl(url); if (tenant == null) { context.ErrorResult = new RedirectResult(new Uri("http://www.adlumen.org/"), context.Request); } else { //context.HttpContext.Session["Tenant"] = tenant; } }
public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); var url = filterContext.HttpContext.Request.Url; var tenant = TenantUtil.GetTenantFromUrl(url); if (tenant == null) { filterContext.Result = new RedirectResult("http://www.adlumen.org"); } else { //HttpContext.Current.Session["Tenant"] = tenant; } }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var allowedOrigin = "*"; context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { allowedOrigin }); var userManager = context.OwinContext.GetUserManager <ApplicationUserManager>(); ApplicationUser user = await userManager.FindAsync(context.UserName, context.Password); if (user == null) { context.SetError("invalid_grant", "The user name or password is incorrect."); return; } var tenant = TenantUtil.GetTenantFromUrl(context.Request.Uri); if (tenant == null || tenant.Id != user.IdTenant) { context.SetError("wrong_tenant", "The user doesn't exist in this company."); return; } if (!user.EmailConfirmed) { context.SetError("invalid_grant", "User did not confirm email."); return; } ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(userManager, "JWT"); oAuthIdentity.AddClaims(ExtendedClaimsProvider.GetClaims(user)); oAuthIdentity.AddClaims(RolesFromClaims.CreateRolesBasedOnClaims(oAuthIdentity)); var ticket = new AuthenticationTicket(oAuthIdentity, null); context.Validated(ticket); }