Getting Error Custom IIdentity and IPrincipal in ASP.NET MVC 5 -


i have developed "custom iidentity , iprincipal" in asp.net mvc reference of internet search , developed site custom iidentity , iprincipal , error "object reference not set instance of object." , here code:

controller action code in login httppost method:

public actionresult login(userlogin login, string returnurl = "")     {         string message = "";         using (rolecontext dc = new rolecontext())         {             var user = dc.users.where(a => a.emailid == login.emailid).firstordefault();             if (user.isemailverified == true)             {                 if (user != null)                 {                     if (string.compare(crypto.hash(login.password), user.password) == 0)                     {                         customprincipalserializemodel serializemodel = new customprincipalserializemodel();                         serializemodel.userid = user.userid;                         serializemodel.firstname = user.firstname;                         serializemodel.lastname = user.lastname;                          javascriptserializer serializer = new javascriptserializer();                          string userdata = serializer.serialize(serializemodel);                          int timeout = login.rememberme ? 525600 : 20; // 525600 min = 1 year                         formsauthenticationticket ticket = new formsauthenticationticket(                                                         1,                                                         login.emailid,                                                         datetime.now,                                                         datetime.now.addminutes(timeout),                                                         true,                                                         userdata);                          string encrypted = formsauthentication.encrypt(ticket);                         httpcookie cookie = new httpcookie(formsauthentication.formscookiename, encrypted);                         //cookie.expires = datetime.now.addminutes(timeout);                         //cookie.httponly = true;                         response.cookies.add(cookie);                          string[] roles = roles.getrolesforuser();                         if (url.islocalurl(returnurl))                         {                             return redirect(returnurl);                         }                         else if (roles.contains("area"))                         {                             return redirecttoaction("index", "area");                         }                         else if (roles.contains("car"))                         {                             return redirecttoaction("index", "home");                         }                         else                         {                             return redirecttoaction("index", "home");                         }                      }                     else                     {                         message = "invalid credential provided";                     }                 }                 else                 {                     message = "invalid credential provided";                 }             }             else             {                 message = "email id not verified";             }         }         viewbag.message = message;         return view();     } 

global.aspx code:

protected void application_postauthenticationrequest(object sender, formsauthenticationeventargs e)     {         httpcookie authcookie = request.cookies[formsauthentication.formscookiename];          if (authcookie != null)         {             formsauthenticationticket authticket = formsauthentication.decrypt(authcookie.value);              javascriptserializer serializer = new javascriptserializer();              customprincipalserializemodel serializemodel = serializer.deserialize<customprincipalserializemodel>(authticket.userdata);              customprincipal newuser = new customprincipal(authticket.name);             newuser.userid = serializemodel.userid;             newuser.firstname = serializemodel.firstname;             newuser.lastname = serializemodel.lastname;              httpcontext.current.user = newuser;         }     } 

customiprincipal code:

namespace rolesauthorize.security { interface icustomeprincipal : iprincipal {     int userid { get; set; }     string firstname { get; set; }     string lastname { get; set; } } public class customprincipal : icustomeprincipal {     public iidentity identity { get; private set; }     public bool isinrole(string role) { return false; }     public customprincipal(string email)     {         this.identity = new genericidentity(email);     }     public string firstname { get; set; }     public string lastname { get; set; }      public int userid { get; set; } } } 

my customprincipalserializemodel

namespace rolesauthorize.models.viewmodels { public class customprincipalserializemodel {     public int userid { get; set; }     public string firstname { get; set; }     public string lastname { get; set; } } } 

i getting error when written in view "@((user customprincipal).userid)".


Comments

Popular posts from this blog

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -

minify - Minimizing css files -