Аутентификация Форм работает с веб-Подсистемами балансировки нагрузки?

Я работаю над веб-приложением, которое использует аутентификацию Форм.

    <authentication mode="Forms">
        <forms slidingExpiration="true"
         loginUrl="~/User.aspx/LogOn"
         timeout="15"
         name="authToken"  />
    </authentication>

Я вижу этот набор cookie в своем браузере, когда я вхожу в систему:

alt text

Вопрос - то, что происходит, когда я поместил этот веб-сайт в загрузку сбалансированная модель? Где сеансовые куки ASP.net устанавливают? Я явно не сделал этого в коде, таким образом, я предполагаю, что это происходит негласно где-нибудь в ASP.NET.

Кроме того, Если сеансовые куки установлены веб-сервером A, я предполагаю, что веб-сервер B не будет распознавать его и рассматривать его как недопустимую сессию. Если это верно, я, вероятно, не хочу использовать его, правильно?

16
задан Community 8 February 2017 в 14:29
поделиться

1 ответ

Вам нужно будет установить одинаковый ключ компьютера и одно и то же имя на обеих машинах ... если это будет сделано, у вас не должно возникнуть проблем с балансировкой нагрузки с помощью форм auth .

        <authentication mode="Forms">
        <forms loginUrl="~/Login/Index" defaultUrl="~/"
                     name=".myportal"
                     protection="All" slidingExpiration="true" timeout="20" path="/"
                     requireSSL="false"></forms>
    </authentication>

    <machineKey validationKey="534766AC57A2A2F6A71E6F0757A6DFF55526F7D30A467A5CDE102D0B50E0B58D613C12E27E7E778D137058E" decryptionKey="7059303602C4B0B3459A20F9CB631" decryption="Auto" validation="SHA1"/>

Сессии могут быть немного сложнее. Вы можете сохранить состояние сеанса ASP.Net в базе данных или использовать общий поставщик сеанса, чтобы сделать его доступным для балансировки нагрузки.

Вот хорошая статья о хранении состояния сеанса в БД: http://idunno.org/articles/277.aspx

17
ответ дан 30 November 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: