2010-04-21 4 views
0

У нас есть приложение FluorineFx/ASP.Net, которое использует проверку подлинности форм для идентификации текущего пользователя. Чтобы использовать эти учетные данные в FluorineFx, мы используем FluorineContext.Current.User.Identity. Когда я вхожу в систему в первый раз, текущий контекст аккуратно отражает правильную идентификацию.Старые учетные данные пользователя в FluorineFx после сброса сеанса?

Когда я выхожу из системы, я выполняю FormsAuthentication.SignOut() и Session.Abandon, чтобы аннулировать как учетные данные пользователя, так и сеанс. Но когда я вхожу снова в качестве другого пользователя, FluorineContext.Current.User.Identity содержит учетные данные предыдущего пользователя, в то время как приложение ASP.Net имеет правильные учетные данные пользователя. Когда я перестраиваю мое приложение, учетные данные FluorineFx сбрасываются, чтобы снова отображать правильные учетные данные.

У кого-нибудь есть объяснение по этому вопросу и/или как это исправить?

+0

@Prutswonder, когда вы вызываете SignOut(), вы сделали перенаправление после его вызова на страницу выхода или что-то еще? если не сделаете этого и скажите мне, если работает. После SignOut вам нужно сделать переадресацию, чтобы файлы cookie были очищены на 100% в браузере. – Aristos

+0

Страница выхода из системы перенаправляется на другую страницу, поэтому аутентификация форм отлично работает для приложения ASP.Net. Так что это не проблема с файлами cookie. – Prutswonder

ответ

1

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

Смежные вопросы