c# - LogIn in Asp.Net Identity project -
i'm doing web application based on asp.net, , login system based on identity framework. problem i'm getting bit strange.
i run application takes me login page, login (and redirected homepage) if logout , try login again keeps giving me login page instead home page, if second login breakpoint in async call , go step step login done , i'm redirected home page.
the code is:
[httppost] [allowanonymous] public async task<actionresult> login(loginmodel model) { if (!modelstate.isvalid) { return view(); } //breakpoint var user = await usermanager.findasync(model.email, model.password); if (user != null) { var identity = await usermanager.createidentityasync( user, defaultauthenticationtypes.applicationcookie); signin(user); return redirect(getredirecturl(model.returnurl)); } // user authn failed modelstate.addmodelerror("", "invalid email or password"); return view(); } private string getredirecturl(string returnurl) { if (string.isnullorempty(returnurl) || !url.islocalurl(returnurl)) { return url.action("index", "home"); } return returnurl; } private async task signin(identityuser user) { var identity = await usermanager.createidentityasync( user, defaultauthenticationtypes.applicationcookie); getauthenticationmanager().signin(identity); } private iauthenticationmanager getauthenticationmanager() { var ctx = request.getowincontext(); return ctx.authentication; } public actionresult logout() { var ctx = request.getowincontext(); var authmanager = ctx.authentication; session.abandon(); authmanager.signout("applicationcookie"); return redirecttoaction("login", "login"); }
Comments
Post a Comment