В настоящее время мы переносим наше веб-приложение .NET в облачную службу Azure с веб-уровнем, работающим на нескольких узлах (первоначально на двух). Мне интересно, как мы должны изменить наш механизм аутентификации на основе форм для работы в среде балансировки нагрузки? Это соображение, которое нам никогда не приходилось делать в прошлом, поскольку наше приложение всегда ограничивалось только одним физическим сервером.
В настоящее время мы определяем наши защищенные папки в файле web.config следующим образом:
<location path="secure-area">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
Код на странице входа работает примерно так:
if accountIsValid = true then
FormsAuthentication.SetAuthCookie(sessionID, False)
response.redirect("secure-area/index.aspx")
end if
Затем активный сеанс извлекается по всему приложению следующим образом:
Dim sessionID as string = User.Identity.Name.ToString
Предположительно, этот метод не будет автоматически сохранять состояние сеанса на нескольких узлах? Я задавался вопросом, сможет ли Azure Fabric Controller разобраться во всем этом без необходимости внесения изменений в код. Возможно, желаемое за действительное!
Любая помощь или ссылки на онлайн-руководства будут высоко оценены!