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
Post a Comment