![]() |
|
Модераторы: gambit |
![]()
|
|
| farad |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 1.11.2007 Репутация: нет Всего: 6 |
Только начал изучать ASP.NET. Хочу разрешить доступ к сайту только своим. прописал пользователей и пароли в web.config, сделал проверку пароля:
|
||||
|
|||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 2 Всего: 5 |
самое простое - положить страницы, которые нужно защетить, в отдельный каталог и туда же фаил web.config
|
|||
|
||||
| tol05 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Аутентификация ворм уже в ASP.NET реализована и ИМХО свой велосипед выдумывать не нужно.
- вместо твоей проверки пароля сделай Login page с элементом asp:Login. Ну и, соответственно, в конфиге и прописывай редиректы. - User.Identity.IsAuthenticated лучше заменить на Page.User.Identity.IsInRole (если доступ только для своих)
для приложения в web.config пропиши
P.S. Пока набрал, разродился ответом, уже Pankon и ответил. Но "не пропадать же добру" !!! -------------------- На хорошей работе и сны хорошие снятся. |
||||
|
|||||
| vzf |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: нет Всего: 5 |
Расскажите как ? Мне как раз это и надо, я в соседней теме спрашивал. Буду очень признателен. --------------------
Java - Write Once, Test EveryWhere! |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
что именно "как"?
MSDN-ом пользоваться умеем? Читаем если нужно что-то посложнее - то подписываемся на события аутентификации (см. события елемента Login) и там делаем дополнительные проверки, редиректы и т.п. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 2 Всего: 5 |
думаю речь об этом
Это должно быть в web.config в каталоге веб-приложения |
|||
|
||||
| vzf |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: нет Всего: 5 |
посмотрел про контрол <asp:login> в мсдн. Не нашел то что мне нужно.
То, что привел Pankon почти то что мне надо. Проблема в том как сделать, чтобы, если пользователю не разрешается доступ к странице, ему возвращали 403 ошибку и соответственно был редирект на указанную страницу ошибки. Я указал секцию, что привел Pankon в web.config . Если запросить несуществующий ресурс (404 ошибка) то все ОК. Но если пользователь запрашивает страницу на которую у него нет прав, то его попрежнему перенаправляют на login.aspx . Может я путанно объясняю. Попробую поподробней. Мне необходимо добиться следующего: Пользователь проходит аутентификацию (form-based например) попадает на главную страницу сайта (Default.aspx) . Помимо этой страницы есть еще страница Test.aspx и к ней имеют доступ только определенные пользователи. Пусть пользователь аутентифицировался удачно, но он не имеет доступа к Test.aspx . Надо сделать так, что если он запросит Test.aspx его бы перенаправили на страницу с ошибкой. Можно ли это прописать в конфигах или это можно сделать только программно (проверять на странице и делать Responce.Redirect("ErrorPage.aspx")); ? --------------------
Java - Write Once, Test EveryWhere! |
|||
|
||||
| farad |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 1.11.2007 Репутация: нет Всего: 6 |
vzf, подожди, это моя тема
Pankon, tol05, спасибо, в принципе я так и делал. разобрался почему доступ ко всем страницам был
теперь другая проблема: пока не пройдешь проверку нет доступа вообще ни к каким страницам. Хотелось бы иметь некоторое количество общедоступных страниц, хотя бы страницу доступ запрещен.. файл web.config такой:
Pankon, предлагал поместить всю защищенную байду в отдельную папку, но студия не дает запихнуть в эту папку web.config, ругается на стройки IIS, которых я и не проводил. Собственно я его и не устанавливал. localhost создается студией. Как-то студию образумить можно? Или в web.config можно обозначить какие-то доступные страницы? |
||||
|
|||||
| tol05 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
vzf,
ИМХО только программно. В конфиге прописывать строки типа: - если user1 залогинен и хочет 1.aspx, то пустить - если user1 залогинен и хочет 2.aspx, то редирект на 3.aspx - если user1 не залогинен и хочет 3.aspx, то то редирект на 2.aspx - если user1 не залогинен и ... - если user2 ... ... Мне кажется - это черезчур ... даже для MS. Используй класс FormsAuthentication теперь автору темы Вариант 1. В корневом конфиге пишем обычную аутентификацию, для всех.
пользователь логинится и вроде все ок... НО ... например, на сайте есть папка Pages со страницами, доступ к которым разрешен только юзеру user1 и никому больше. (даже админ сайта не может их смотреть
Вариант 2. из конфига все убираем. И он станет пускать на общедоступные страницы. Но и на все остальные тоже Чтобы запретить доступ на "все остальные" или пишем свой модуль аутентификации, или на каждой странице используем программную аутентификацию, через тот же FormsAuthentication. -------------------- На хорошей работе и сны хорошие снятся. |
||||
|
|||||
| farad |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 1.11.2007 Репутация: нет Всего: 6 |
tol05, иез, заработала
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |