MitchCZ Ответов: 1

Спонтанное переключение пользователей входа в систему


Привет,

У меня есть заявление, написанное в ASP.NET 3.5, где пользователи хранятся в базе данных и их роли пользователей для процесса аутентификации и авторизации в системе.

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

Кто-нибудь знает, что делать/устанавливать/фокусировать в Google..??

Большое вам спасибо за любой совет.

Янв

Что я уже пробовал:

Hello,

I have an application written in ASP.NET 3.5, where users are stored in the database and their user roles for authentication and authorization process to the system.

The problem occurs when I deploy the application to the server and at one time when multiple users log in, the logged-in user switches to the other last logged-in user spontaneously.
So I can see the switching users durign the crossing between pages..

Does anyone know what to do/set/focus in Google..??

Thank you very much for any advice.

Jan

1 Ответов

Рейтинг:
8

F-ES Sitecore

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


MitchCZ

Уфф, ты прав! :) это выглядит как абсолютно плохое решение...

главного входа.aspx-файл:
охраняемых недействительными LoginMain_LoggedIn(объект отправителя, EventArgs в электронной)
{
GlobalSettings gSet = new GlobalSettings(LoginMain.имя пользователя.Метод toString());
}

Конструктор настройках:
public GlobalSettings(строка uName)
{
Имя пользователя = uName;
User_Name = GetNameLogged();
UserDepartmentNo = GetDepartmentNoLogged();
UserRole = GetUserRole();
IdOrder = 0;
IdOrderURL = 0;
IdOrderQString = 0;
OrderState = 1;
OrderWorking = ложь;
OrderJustReleased = false;
AHUCount = 0;
UserTrade = IsUserRoleTRADE(Имя Пользователя);
UserOdbyt = IsUserRoleODBYT(Имя Пользователя);
UserOdbytDep = IsUserRoleODBYTDEP(Имя Пользователя);
UserRoleMain = SetUserRole(Имя Пользователя);
}

Закрытая переменная:
частное статическое строковое имя пользователя;
публичное статическое строковое имя пользователя
{
get { return userName; }
набор { имя = значение; }
}

частная статическую строку имя_пользователя;
публичный статический строку Имя_пользователя
{
get { return user_Name; }
набор { имя_пользователя = значение; }
}

частная статическая строка userRole;
публичная статическая строка UserRole
{
get { return userRole; }
set { userRole = значение; }
}
...

И что теперь?

F-ES Sitecore

Это зависит от того, как вы на самом деле аутентифицируете людей. Самое простое решение-сохранить эти данные в сеансе вместо этого, поэтому Session["userName"] для имени пользователя и т. д., или создать пользовательский объект, содержащий все данные, которые вы хотите запомнить о пользователе, и сохранить этот объект в сеансе вместо этого.