![]() |
|
Модераторы: gambit |
![]()
|
|
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Раскажите мне вкратце принципы защиты страниц. Поясняю: как обычно на любом сайте вводишь логин и пароль и становятся доступны защищённые странички. Как проверить логин и пароль я знабю, вопрос в том что имеется какая-то защищённая страничка, как на ней на onLoad определить что пароль на странице логина был введен правильный? Я так понимаюб что в этом случае используются сессионные переменные или куки, а вот простой примерчик можно привести?
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Mymik |
|
||||||||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Vit, Как правило в защищенных куках храниться только лишь Username данного пользователя. А дальше идет уже либо коннект к СУБД (при каждой загрузки страницы) либо хранение пользовательских ролей в каше или сессии(хранение ролей в куках еще не встречал (попросту глупо давать пользователю доступ к его ролям)) либо определение роли при Application_BeginRequest. Т.е. непосредственно там роли и выставляются.
В asp.net 2.0 реализуется данный функционал через Membership API. В web.config создается два провайдета: membership и roleManager Первый провайдер отвечает за пользователей, второй за их роли. К примеру для проверки пользователей используется
После проверки пользователя мы делаем
Этим мы и создаем данные с которыми мы потом будем работать. В последствии мы можем обращаться к имени пользователя с помощью
А для доступа ролям в которых находится пользователь мы используем
Этой строкой мы и получаем все роли пользователя. В asp.net 1.0 реализуется это дело несколько по иному. В принципе как и раньше мы делаем Валидацию пользователя (правда руками. Т.е. создаем сами соединение к базе там это все проверяем и возвращаем bool значение) Дальше мы все так же создаем куки
После чего мы имеем доступ к имени пользователя с помощью
После этого создаем соединение с СУБД и запрашиваем роли для данного пользователя. и после этого исправляем пользователя
вот и все. Вот так вот реализуется политика на сайте написаном на asp.net P.S. если тебе нужно просто пользователя проверить тогда тебе на странице Login нужно выполнить строчку
(Примечание: страница с которой ты выполняешь вызов данного метода должна быть прописана в web.config в разделе authentication) И после этого запрашиваешь пользователя либо с помощью Membership либо с помозщь User -------------------- |
||||||||||||||||
|
|||||||||||||||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 9 Всего: 186 |
||||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
А чем плох вариант если я на форме с логином буду устанавливать какой-то флажок в сессионных переменных и на onLoad остальных форм проверять этот флажок? Это чревато какими-то подводными камнями?
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
После закрытия бразуера сессия умрет. И пользователю надо будет по новой заходить на логин-форму и вводить свои данные. В то время как cookie сохраняться в его браузере. Это типа функции "запомить вас" на форуме. -------------------- |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Если только это, то меня это пока устраивает, мне надо сейчас реализовать именно это. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Вопрос решён, всем спасибо!
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |