Re: Авторизация средствами ASP
От: Аноним  
Дата: 29.03.04 07:47
Оценка:
Здравствуйте, Delka, Вы писали:

D>Подскажите пожалуйста как средствами ASP реализовать авторизацию пользователя. Т.е. чтобы введя логин/пароль на главной странице сайта он получал определённые права и кликая на ссылки (типа "Редактировать", "Удалить" ...) мог производить необходимые действия.


Основная идея — запомнить на сервере пользователя и при совершении действий проверять, есть ли у него права на данное действие.
Технически реализуется так (один из простейших способов)
После валидации на сервере имени пользователя и пароля серверным скриптом положить в cookie отметку о прохождении авторизации (например, какой-либо идентификатор пользователя, опять же, например, id в БД, или сразу его права)
Response.Cookies("userid") = userDatabaseID
или
Response.Cookies("permissions") = "r--"
Проверка прав перед совершением действия:
perm = Request.Cookies("permissions")
if (perm == "r--")
... и т.д.

Другой вариант, более универсальный, но чуть посложнее:
После валидации на сервере имени пользователя и пароля серверным скриптом генерировать так называемый sessionID — уникальный идентификатор сессии (в простейшем случае — длинная случайная строка). Этот идентификатор с датой-временем генерации и ID пользователя положить в базу данных и передать на сторону клиента идентификатор.
В дальнейшем этот идетификатор всегда передается в адресной строке при переходах со страницы на страницу, а на сервере ты проверяешь:
1. есть ли такой sessionID в базе. Если нет — неавторизованное обращение
2. как давно по нему было последнее обращение, например, если с момента, указанного в базе прошло более получаса — значит сессия истекла и надо запросить пароль снова. Если обращение было недавно, то обновляешь дату и время в БД и далее осуществляешь проверку прав.

ЗЫ. Этот вопрос лучше было задать в разделе "Веб программирование"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.