Продължавам разработката на някой друг И не знам много за текущите практики за удостоверяване в MVC приложения.
Единствените неща, които са зададени относно удостоверяването, са в IIS конфигурацията на приложението:
- Правила за удостоверяване на .NET = Разрешаване, Всички потребители
Удостоверяване:
- Анонимно удостоверяване: Активирано
- Имитиране на ASP .NET: забранено
- Удостоверяване на Windows: Активирано
При тази конфигурация, на сървъра, браузърът ме пита за вход/парола. Въвеждам данните си за вход в мрежата. Тогава мога да идентифицирам потребителя с Request.RequestContext.HttpContext.User.Identity...
На локален компютър, където влизам със същото име/парола: нито един потребител не е влязъл в приложението (Request.RequestContext.HttpContext.User.Identity.Name == ""). Ако деактивирам анонимното удостоверяване, браузърът просто продължава да иска безкрайно парола за влизане.
Първият ми проблем е, че бих искал да мога да изляза от сървъра. От оскъдна информация, която получих тук и там, вече опитах: FormsAuthentication.SignOut();
--> не прави нищо WebMatrix.WebData.WebSecurity.Logout();
--> Изключение, опитва се да получи достъп до база данни (получих това от един от шаблоните VS2012, но не мислех, че ще се приложи към моят контекст). if(this.Request.RequestContext.HttpContext.Session != null)
this.Request.RequestContext.HttpContext.Session.Clear();
--> Сесията е нула, така че това не прави нищо.
И така, как мога да изляза, за да вляза отново като друг потребител?
(Бих искал също да мога да идентифицирам потребителя на локалния компютър, но мисля, че това трябва да бъде зададено в друга тема.)