Unable to add and select custom requirement values

I am using mvc 5 with id 2.0. I want to use custom requirement values ​​for the application, but I get a null value. Where am I doing wrong? Please help me

Updated Code

Account Controller Login Code

if (!string.IsNullOrEmpty(model.UserName) && !string.IsNullOrEmpty(model.Password)) { AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); var result = SignInManager.PasswordSignIn(model.UserName, model.Password, model.RememberMe, shouldLockout: false); //Generate verification token Dictionary<string, string> acceccToken = null; if (SignInStatus.Success == 0) { var userDeatails = FindUser(model.UserName, model.Password).Result; if (userDeatails != null) acceccToken = GetTokenDictionary(model.UserName, model.Password, userDeatails.Id); } if (model.RememberMe) { HttpCookie userid = new HttpCookie("rembemberTrue", "1"); userid.Expires.AddDays(1); Response.Cookies.Add(userid); } else { HttpCookie userid = new HttpCookie("rembemberTrue", "0"); userid.Expires.AddDays(1); Response.Cookies.Add(userid); } #region custom claims var claims = new Claim[] { new Claim("urn:Custom:MasterUniqueId", Convert.ToString(Guid.NewGuid())) }; ClaimsIdentity identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); IAuthenticationManager authenticationManager = System.Web.HttpContext.Current.GetOwinContext().Authentication; authenticationManager.SignIn(identity); 

Starup.Auth.cs

  public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) }, SlidingExpiration = true, ExpireTimeSpan = TimeSpan.FromMinutes(60) }); 

...........

another controller

Here I am trying to get these claim values, but it shows null

  var identity = (ClaimsIdentity)User.Identity; var res= identity.FindFirst("urn:Custom:MasterUniqueId"); 

res is null

+15
c # asp.net-mvc-5 claims-based-identity asp.net-identity owin
May 14 '16 at 12:53 on
source share
3 answers

You must add these claims to the identity verification phase. Please check out a similar implementation here: Server-Side Caching with Owin Authentication

0
Sep 22 '16 at 12:27
source share

In your account controller, in order to get a valid authenticationManager, you must use Request.GetOwinContext().Authentication . Im affraid System.Web.HttpContext.Current.GetOwinContext().Authentication gets a new authentication administrator instead of the current Owin context

0
Feb 01 '18 at 19:46
source share

You tried:

 var res = identity.Claims.Where(c=>c.Type=="urn:Custom:MasterUniqueId").FirstOrDefault(); 

?

-one
Sep 19 '16 at 23:21
source share



All Articles