protected List <SegPaginas> GetPages() { var objRol = GetUserRole(); return(objRol == null?CMenus.GetPages(this.HttpContext, _context, -1) : CMenus.GetPages(this.HttpContext, _context, objRol.Idsro)); }
public void Test1(int value) { bool res = CMenus.EsPar(value); Assert.Equal(true, res); }
protected List <SegAplicaciones> GetAplicaciones() { var objRol = GetUserRole(); return(objRol == null?CMenus.GetAplicaciones(_context, -1) : CMenus.GetAplicaciones(_context, objRol.Idsro)); }
public async Task <IActionResult> Login(SegUsuarios user, string strReturnUrl) { ViewData["ReturnUrl"] = strReturnUrl; if (ModelState.IsValid) { const string badUserNameOrPasswordMessage = "Usuario o contraseña incorrectos."; const string badUserCreation = "El Usuario no tiene un Rol activo"; if (user == null) { ModelState.AddModelError("", badUserNameOrPasswordMessage); return(View()); } const string incompleteInformation = "Debe especificar un usuario y contraseña para continuar."; if (user.Login == "" || user.Password == "") { ModelState.AddModelError("", incompleteInformation); return(View()); } var obj = _context.SegUsuarios.SingleOrDefault(m => m.Login == user.Login); if (obj == null) { ModelState.AddModelError("", badUserNameOrPasswordMessage); return(View()); } if (!CFunciones.GenerarMd5(user.Password).ToUpper().Equals(obj.Password.ToUpper())) { ModelState.AddModelError("", badUserNameOrPasswordMessage); return(View()); } var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme); identity.AddClaim(new Claim(ClaimTypes.Name, obj.Login)); identity.AddClaim(new Claim(ClaimTypes.GivenName, obj.Nombres + " " + obj.Apellidos)); //Para el Rol var objRol = _context.SegUsuarios .Join(_context.SegUsuariosRestriccion, sus => sus.Idsus, sur => sur.Idsus, (sus, sur) => new { sus, sur }) .Join(_context.SegRoles, sussur => sussur.sur.Idsro, sro => sro.Idsro, (sussur, sro) => new { sussur, sro }) .Where(t => t.sussur.sur.Rolactivo == 1) .Where(t => string.Equals(t.sussur.sus.Login, obj.Login, StringComparison.CurrentCultureIgnoreCase)) .Select(arg => arg).SingleOrDefault(); if (objRol == null) { identity.AddClaim(new Claim(ClaimTypes.Role, string.Empty)); identity.AddClaim(new Claim(ClaimTypes.GroupSid, string.Empty)); HttpContext.Session.SetString("currentApp", string.Empty); ModelState.AddModelError("", badUserCreation); return(View()); } identity.AddClaim(new Claim(ClaimTypes.Role, objRol.sro.Idsro.ToString())); identity.AddClaim(new Claim(ClaimTypes.GroupSid, objRol.sussur.sur.Idopy.ToString())); identity.AddClaim(new Claim(ClaimTypes.PrimarySid, objRol.sussur.sur.Idcde.ToString())); var objApp = CMenus.GetAplicaciones(_context, objRol.sro.Idsro).OrderBy(x => x.Nombre).First(); HttpContext.Session.SetString("currentApp", objApp == null? string.Empty : objApp.Sigla); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity)); if (strReturnUrl == null) { if (TempData["returnUrl"] != null) { return(Redirect(TempData["returnUrl"].ToString())); } } return(RedirectToAction(nameof(DashboardController.Index), "Dashboard")); } // If we got this far, something failed, redisplay form return(View()); }