Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[13.58.112.1] |
|
Сообщ.
#1
,
|
|
|
На некотором сайте аутентификация юзеров (идентификация ИД юзера) осуществляется "вручную": на страничке "Войти" юзер вводит логин/пароль, если всё ОК, то ИД юзера хранится в сессии. Странички спрятаны в ЮзерКонтролах и в зависимости от параметров УРЛ, загружается тот или иной контрол (PlaceHolder.Controls.Add( LoadControl(...) )). Во время доступа к каждой страничке проверяется имеет ли данный юзер доступ к данной страничке. Проверка осуществляется в функции Page_Load. Если у юзера доступ есть, то всё ок, если нет, то юзеру показывается сообщение "У вас нет прав для доступа к данной страничке", а содержимое юзер контрола делается невидимым. Но для этого нужно, чтобы это содержимое хранилось в каком-то одном диве... И как-то оно напряжно, поместить всё в контрол, выполнить проверку, спрятать...
Нельзя ли как-то оптимизировать процесс? Есть идея сделать все свои ЮзерКонтролс наследниками некоего интерфейса, который реализует метод HasUserAccess, и вызывать этот метод ПЕРЕД загрузкой контрола. Но этот метод имеет недостаток в том что при использовании данного контрола не через LoadControl, а непосредственно в aspx-страничке проверка выполняться не будет... Поделитесь, плиз, своим опытом? Ведь не всегда же странички (ЮзерКонтролы) можно распихать по папкам на которые наложить запреты... через web.config. |
Сообщ.
#2
,
|
|
|
Все уже давно оптимизировано. См. контролы Login/LoginView и тэдэ, короче тут: http://msdn2.microsoft.com/En-US/library/ms178329.aspx
|
Сообщ.
#3
,
|
|
|
LoginX контролы ведь подвязаны на зарегистрирован/незарегистрирован и они завязаны на ASP.NET membership. Если последнее ещё можно было бы сделать с привязкой к MySQL, то что, если надо разделить доступ к страничке модераторов? Надо смотреть и проверять UserRole и реализовать .... хэх... в LoginView есть RoleGroups, который и содержит тэмплейты для разных ролей...
По сути это тоже, что я и задумал, только уже готовое, да? Получается, надо только привязать свой провайдер... да? |
Сообщ.
#4
,
|
|
|
Цитата Budda @ Если последнее ещё можно было бы сделать с привязкой к MySQL, то что, если надо разделить доступ к страничке модераторов? LoginView.RoleGroups PS. Ну я уверен, что если пошарить нет, то не вопрос найти реаизацию этого дела для MySQL и прикрутить для своих нужд. |
Сообщ.
#5
,
|
|
|
Цитата Uncle_Bob @ LoginView.RoleGroups Да, уже заметил Цитата Budda @ в LoginView есть RoleGroups, который и содержит тэмплейты для разных ролей... Добавлено спасибо. |