На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Авторизация и организация сайта
    На некотором сайте аутентификация юзеров (идентификация ИД юзера) осуществляется "вручную": на страничке "Войти" юзер вводит логин/пароль, если всё ОК, то ИД юзера хранится в сессии. Странички спрятаны в ЮзерКонтролах и в зависимости от параметров УРЛ, загружается тот или иной контрол (PlaceHolder.Controls.Add( LoadControl(...) )). Во время доступа к каждой страничке проверяется имеет ли данный юзер доступ к данной страничке. Проверка осуществляется в функции Page_Load. Если у юзера доступ есть, то всё ок, если нет, то юзеру показывается сообщение "У вас нет прав для доступа к данной страничке", а содержимое юзер контрола делается невидимым. Но для этого нужно, чтобы это содержимое хранилось в каком-то одном диве... И как-то оно напряжно, поместить всё в контрол, выполнить проверку, спрятать...

    Нельзя ли как-то оптимизировать процесс? Есть идея сделать все свои ЮзерКонтролс наследниками некоего интерфейса, который реализует метод HasUserAccess, и вызывать этот метод ПЕРЕД загрузкой контрола. Но этот метод имеет недостаток в том что при использовании данного контрола не через LoadControl, а непосредственно в aspx-страничке проверка выполняться не будет...

    Поделитесь, плиз, своим опытом? Ведь не всегда же странички (ЮзерКонтролы) можно распихать по папкам на которые наложить запреты... через web.config.
      Все уже давно оптимизировано. См. контролы Login/LoginView и тэдэ, короче тут: http://msdn2.microsoft.com/En-US/library/ms178329.aspx
        LoginX контролы ведь подвязаны на зарегистрирован/незарегистрирован и они завязаны на ASP.NET membership. Если последнее ещё можно было бы сделать с привязкой к MySQL, то что, если надо разделить доступ к страничке модераторов? Надо смотреть и проверять UserRole и реализовать .... хэх... в LoginView есть RoleGroups, который и содержит тэмплейты для разных ролей...

        По сути это тоже, что я и задумал, только уже готовое, да? Получается, надо только привязать свой провайдер... да?
          Цитата Budda @
          Если последнее ещё можно было бы сделать с привязкой к MySQL, то что, если надо разделить доступ к страничке модераторов?

          LoginView.RoleGroups

          PS. Ну я уверен, что если пошарить нет, то не вопрос найти реаизацию этого дела для MySQL и прикрутить для своих нужд.
            Цитата Uncle_Bob @
            LoginView.RoleGroups

            Да, уже заметил
            Цитата Budda @
            в LoginView есть RoleGroups, который и содержит тэмплейты для разных ролей...


            Добавлено
            спасибо.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0190 ]   [ 16 queries used ]   [ Generated: 19.04.24, 10:21 GMT ]