Привет,
Я работаю над серверной программой на C #, но столкнулся с проблемой.Когда пользователь подключается, его учетная запись проходит проверку подлинности и т. Д. Все в порядке.
Но проблема в том, что серверу придется выполнять множество запросов и функций с именем пользователя, паролем и т. Д. В качестве параметра подключенного пользователя.,Это не было бы проблемой, если бы у меня был только 1 клиент, но многопоточность и множественные соединения делают это сложной задачей.
В настоящее время у меня есть несколько функций, которые я должен вызывать так: (в основном из соображений безопасности)
functionName(action, value, username, password)
Мне это кажется излишним, потому что мне приходится использовать эту функцию, может быть, 5-6 раз в одной строке.
Я думаю, я просто ищухороший способ хранить информацию о нескольких подключенных пользователях без перемешивания информации.
Спасибо за ваше время.
Что я сейчас делаю:
Как я уже говорил, в этот момент клиент всегда отправляет свое имя пользователя и зашифрованный пароль на сервер.И имя пользователя и пароль всегда будут добавляться в качестве параметра для большинства методов, поэтому я могу проверить базу данных, чтобы убедиться, что данные верны.
Это делает код выглядящим излишним и избыточным.
Редактировать:
В данный момент пользователь войдет в систему, используя свой пароль и имя пользователя.Затем я шифрую информацию и отправляю ее в виде пакета.
Сервер расшифровывает информацию и проверяет имя пользователя и пароль в базе данных.
После этого я создаю GUID и отправляю его обратно клиенту, чтобы он мог сохранить идентификатор и добавлять его в каждый следующий пакет.
Теперь, как мне (на стороне сервера) проверить, еслиGUID в пакете от клиента является законной на стороне сервера?- я просто временно храню GUID в базе данных?