tutorial net mvc example asp c# asp.net-mvc-5 owin

c# - net - owin authentication mvc 5



Agregar tipos de reclamos personalizados (1)

Como he comprobado su Código, no hay problema en ello.

Esto es lo que quiero que hagas:

Compruebe si el caché estaba claro. Si su caché no se borró, puede borrarlo así: CTRL + MAYÚS + BORRAR

Es porque durante su inicio de sesión, se guardará en las cookies y no estuvo claro, y sucede que la nueva reclamación no se guardó en las cookies.

O intente verificar si su UserGroupID tiene un valor.

Soy nuevo en la autenticación OWIN y me resulta difícil crear mis propios tipos de reclamaciones de owin.

Aquí está la cosa. Necesito agregar notificaciones personalizadas como "GroupID" para poder acceder fácilmente en las diferentes páginas.

Hice algo como esto en mi Login

public ActionResult Login(LoginViewModel model, string returnUrl) { UserViewModel userModel = new UserViewModel(); if (!ModelState.IsValid) { return View(model); } if(CommonHelper.ValidateADUser(model.Username,model.Password)) { UserViewModel curUser = userModel.GetUserDetails(model.Username); if (curUser != null) { var claims = new List<Claim>(); claims.Add(new Claim(ClaimTypes.WindowsAccountName, curUser.Username)); claims.Add(new Claim(ClaimTypes.Name,curUser.Fullname)); claims.Add(new Claim(ClaimTypes.Role, "")); claims.Add(new Claim("GroupID", curUser.UserGroupID.ToString())); var id = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); var ctx = Request.GetOwinContext(); AuthenticationManager.SignIn(id); return RedirectToAction("Index", "Home"); } } else { ModelState.AddModelError("", "Invalid login attempt."); } return View(model); }

En mi inicio de sesión parcial intenté obtener el valor haciendo esto

public ActionResult _LoginPartial() { var identity = (ClaimsIdentity)User.Identity; TempData["curUserFullName"] = identity.FindFirst(ClaimTypes.Name).Value; string s= identity.FindFirst("GroupID").Value; return PartialView(); }

Puedo obtener el nombre de usuario y el nombre completo sin ningún problema, pero la identificación del grupo provoca un error nulo en el objeto.

Con la esperanza de que alguien pudiera empujarme a la respuesta correcta.