У меня проблемы с использованием OWIN и аутентификацией cook ie. Для ясности, повар ie, сгенерированный OWIN, никогда не отправляется в браузер. Я знаю, что по этому вопросу уже есть много постов и ответов, но ни один из них не работает для меня. Я работаю в локальной среде, с ASP. NET Framework 4.5.2 и IIS 10, и сеанс также используется в проекте. ASP .NET_SessionId cook ie присутствует.
Вот различные файлы, которые я использую в процессе аутентификации:
Session_Start в Global.asax
Session["Dummy"] = "0";
Конфигурация в Startup.cs
ConfigureAuth(app);
ConfigureAuth в Startup.Auth.cs
app.UseKentorOwinCookieSaver(PipelineStage.Authenticate);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Identification/Index"),
CookieManager = new SystemWebChunkingCookieManager(),
});
После отправки формы для входа в систему я проверяю, действительна ли учетная запись, и, если да, Я выполняю этот код
Claim[] claims = new Claim[]
{
new Claim(ClaimTypes.Email, cpt.Login), // Email address
new Claim(ClaimTypes.Name, cpt.Identite.Nom), // User Name
new Claim(ClaimTypes.NameIdentifier, cpt.NumeroClient.ToString()) // Unique ID of user account
};
ClaimsIdentity userIdentity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
IOwinContext owinContext = Request.GetOwinContext();
IAuthenticationManager owinAuthenticationManager = owinContext.Authentication;
owinAuthenticationManager.SignIn(new AuthenticationProperties() {
IsPersistent = true,
AllowRefresh = true,
ExpiresUtc = DateTime.Now.AddMonths(1)
}, userIdentity);
И затем я перенаправляю на домашнюю страницу
return RedirectToAction("Index", "Home");
Но я не вижу повара ie. Я попытался добавить
<authentication mode="None"></authentication>
в web.config в "system.web", но ничего не получилось. Как видите, я использую Kendor Cook ie Saver, у меня все еще не работает :( Я попытался указать путь, домен и безопасный для повара ie в Startup.Auth.cs, также Я пытался реализовать свой собственный менеджер ie, но ничего не делает.
Ребята, вы видите что-то, что я пропустил? Спасибо за помощь.
Кроме того, это мой первый пост на stackoverflow , дайте мне знать, если мне нужно улучшить его, всегда будет в следующий раз.
Вот Джимми
Обновление
При создании нового MVC Проект, у меня проблем ноль. Я вижу ApplicationCook ie, так что это должно быть что-то с текущим проектом, над которым я работаю (создан почти 8 лет go). Я пытался обновить / добавить любой пакет NuGet так что мой файл packages.config выглядит как пустой проект, но все еще ничего. Я собираюсь попробовать кое-что самостоятельно, так что я могу по крайней мере больше не использовать сессию, но это очень расстраивает, что я не могу использовать Овина полный потенциал аутентификации: (