Ich versuche, einen Cookie bei der Anmeldung zu setzen und Probleme mit dem Abrufen der aktuellen Benutzer-ID nach der Anmeldung. Im folgenden Beispiel ist intUserId -1 und WebSecurity.IsAuthenticated ist false. Ist dies nicht der richtige Ort, um diesen Code zu setzen? Danach wird es auf die Homepage weitergeleitet ... also nicht sicher, warum das nicht der richtige Ort ist.MVC 4 SimpleMembership - Warum WebSecurity.CurrentUserId -1 nach dem Login
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
//TODO: set current company and facility based on those this user has access to
int intUserId = WebSecurity.GetUserId(User.Identity.Name);
int intUserId2 = WebSecurity.GetUserId(model.UserName);
UserSessionPreferences.CurrentCompanyId = 1;
UserSessionPreferences.CurrentFacilityId = 1;
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
Ok, also was ich getan habe, war int intUserId2 = WebSecurity.GetUserId (model.UserName); um die ID dieses Benutzers zu erhalten. Danke für die Hilfe. –