asp.net - User.Identity.GetUserId() always returns null in controller action -


i needed use current logged in user id in controller. returns null. logged in. here's code.

if (string.isnullorempty(userid)) userid = user.identity.getuserid(); 

i tried adding reference

 using microsoft.aspnet.identity; 

i tried adding claim

public const string userid = "http://schemas.xmlsoap.org/ws/2014/03/mystuff/claims/userid"; useridentity.addclaim(new claim(customclaimtypes.userid, id)); 

when try retrieve claim, gives null well.

(identity claimsidentity).firstornull(customclaimtypes.userid); 

any appreciated.

additional info requested in comments:

it's normal login provided aspnetuser.

        var result = await signinmanager.passwordsigninasync(model.email, model.password, model.rememberme, shouldlockout: false);         switch (result)         {             case signinstatus.success:                 return redirecttolocal(returnurl);             case signinstatus.lockedout:                 return view("lockout");             case signinstatus.requiresverification:                 return redirecttoaction("sendcode", new { returnurl = returnurl, rememberme = model.rememberme });             case signinstatus.failure:             default:                 modelstate.addmodelerror("", "invalid login attempt.");                 return view(model);         } 

request.isauthenticated returns true.

claims added here.

    public async task<claimsidentity> generateuseridentityasync(usermanager<applicationuser> manager)     {         // note authenticationtype must match 1 defined in cookieauthenticationoptions.authenticationtype         var useridentity = await manager.createidentityasync(this, defaultauthenticationtypes.applicationcookie);         // add custom user claims here         useridentity.addclaim(new claim(customclaimtypes.userid, id));          return useridentity;     } 

cookies

here answer, managed work.

i moved user.identity.getuserid(); helper class method.

i want reiterate, request not login request. separate request after login.

thank guys time.


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -