[ patak_daca @ 11.01.2017. 19:23 ] @
Pozdrav! U aplikaciji koristim OWIN. Evo i malo code: Code: private List<Claim> GetClaims() { var claims = new List<Claim>(); claims.Add(new Claim(ClaimTypes.Email, "[email protected]")); claims.Add(new Claim(DemoIdentity.IPClaimType, "128.236.333.2")); claims.Add(new Claim(DemoIdentity.IdClaimType, "12345")); claims.Add(new Claim(ClaimTypes.Name, "Assil")); claims.Add(new Claim(ClaimTypes.Name, "Abdulrahim")); var roles = new[] { "Admin", "Citizin", "Worker" }; var groups = new[] { "Admin", "Citizin", "Worker" }; foreach (var item in roles) { claims.Add(new Claim(DemoIdentity.RolesClaimType, item)); } foreach (var item in groups) { claims.Add(new Claim(DemoIdentity.GroupClaimType, item)); } return claims; } private void SignIn(List<Claim> claims) { var claimsIdentity = new DemoIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = false }, claimsIdentity); HttpContext.User = new DemoPrincipal(AuthenticationManager.AuthenticationResponseGrant.Principal); } Kada na serverskoj strani postavim: Code: [Authorize(Roles = "Admin")] public ActionResult About() { return View(); } Dobijam grešku da ne može da pristupi metodi. Kao da nevidi rolu. A kada probam bez role samo [Authorize] sve radi dobro. Da li ima neko neki savet, molim. Hvala unapred! Patak |