За последние 24 часа нас посетили 21027 программистов и 1019 роботов. Сейчас ищут 500 программистов ...

Редирект в любом случе после редиректа и проверки или сразу с проверкой?

Тема в разделе "PHP для новичков", создана пользователем Вероломство, 7 апр 2022.

  1. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    Как обычно делаю:

    В области неавторизованного проверяю, является ли авторизованным, если да, то редирект в область авторизованного, в области авторизованного проверяю, если авторизован и не прошёл обучение, то редирект в область обучения.

    Получается я делаю 2 редиректа, то есть проверку на прохождение обучения отдаю в область авторизованного.

    Как хочу сделать:

    В области неавторизованного проверяю, является ли авторизованным, если да, то проверяю, прошёл ли обучение, если не прошёл обучение, то редирект в область обучения, если прошёл, то редирект в область авторизованного.

    Получается делаю 1 редирект.

    Логично? Или можно оставить первый варик? Редиректы эти сильно напрягают, если их 2?
     
  2. mepihindeveloper

    mepihindeveloper Активный пользователь

    С нами с:
    20 ноя 2018
    Сообщения:
    12
    Симпатии:
    1
    С одной стороны да, а с другой нет. Почему нет? Есть предметная область (разделы): не авторизованный, авторизованный и обучение. Получается, что каждая область должна четко выполнять свою работу и только ее и не знать ничего через область. Выходит, что процесс выглядит так:

    Область не авторизованного выполняет проверку на авторизацию и делегирует дальнейшие действия ей (редирект).
    Область авторизованного доступна только после области не авторизованного и проверяет уже бизнес логику - наличия пройденного обучения. Если обучение не прошел, то делегирует дальнейшие действия области обучения.

    Да, тут много редиректов получается, то если у вас подход редиректов, то я бы делал таким путем. Лучше было бы внедрить контроллеры, которые не работают через редирект и выполняют функцию рендера контента, где уже можно вам второй вариант подключить.
     
    Вероломство нравится это.
  3. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    я наоборот из рендера хочу переписать на редиректы, потому что ерунда получается: либо мне нужно при попытке неавторизованного зайти в область авторизованного - лупить ему 403, либо рендерить ему домашнюю страницу, а при этом в адресной строке будет ерунда, например неавторизованный набирает /profile а я ему домашнюю рендерю, я хочу плавно и правильно приземлять туда, какими правами обладает :)

    кстати всё верно: мне нужно оставить проверку на обучение в области авторизованного ИНАЧЕ я если ШАГНУ из обучения в область авторизованного, то без такой проверки я попаду в область авторизованного без прохождения обучения

    всё я врубился, нужно оставлять 2 редиректа, ведь это только при авторизации будет и только при незавершённом обучении, спс, что зашёл, я расклад твой пока читал, то лучше сориентировался

    либо можно и там и там такие проверки сделать, но в области авторизованного обязательно

    ок, порешали
     
    #3 Вероломство, 7 апр 2022
    Последнее редактирование: 7 апр 2022