Я хотел бы ограничить все страницы веб-сайта логином пользователя внешнего интерфейса. Поэтому я хотел бы добавить «Показывать при любом входе в систему» в настройках страницы корневой страницы и поставить галочку «Расширить на подстраницы». Таким образом, все страницы доступны только в том случае, если пользователь вошел в систему.
Но: Как я могу показать форму входа сейчас? Есть ли лучшие практики?
Первая идея для дерева страниц:
- root page (with login form)
- Home page <-- Password protection starts here and cascades down to all subpages
- Subpage
- more pages...
Но как я могу перенаправить на домашнюю страницу, если пользователь уже вошел в систему?
Вы можете положить страницы рядом:
- root (login) (visible only, without login)
- homepage (visible only with login)
- subpage1
- subpage2
:
но вам, вероятно, нужна еще одна страница сверху
- top (Shortcut: redirects to first subpage)
- root (login) (visible only without login)
- homepage (visible only with login)
- subpage1
- subpage2
:
Я не стал ограничивать сами страницы, но добавил следующую опечатку:
// redirect to login page
[loginUser = ] && [globalVar = TSFE:id != {$loginPage}]
config.additionalHeaders.10 {
header = Location: /index.php?id = {$loginPage}
}
[global]
Этот типоскрипт проверяет, авторизован ли пользователь внешнего интерфейса и не находится ли он на странице входа. Если пользователь нет вошел в систему а такженет на странице входа, он будет перенаправлен на страницу входа.
это будет означать: ваша страница сгенерирована и доставлена, она просто содержит перенаправление. Таким образом, информация, которая должна быть защищена при входе в систему, может быть получена без входа в систему: просто получите первый ответ сервера (HTML) до того, как перенаправление сработает.
по крайней мере, я бы объединил это с измененным рендерингом страницы: в случае отсутствия входа в систему отображать статический текст вместо столбца содержимого
@BerndWilkeπφ Поскольку меня очень беспокоит безопасность: вы уверены, что содержимое страницы будет выведено до перенаправления? Как я могу воспроизвести это поведение? Когда я вызываю страницу с ограниченным доступом, я получаю перенаправление с кодом состояния 302, но без содержания.
Если вы не настроили ошибку 404, вы автоматически должны быть переписаны на следующую видимую страницу в вашей корневой линии. По крайней мере так было в ранних версиях. Таким образом, содержимое страницы с ограниченным доступом не должно быть видно, поскольку сама страница не имеет вывода. Ваш машинописный текст может быть виден только в том случае, если вы ссылаетесь на эти страницы, и, поскольку сам контент не ограничен, я бы предположил, что он отображается. Попробуйте сетевой инспектор вашего браузера и посмотрите ответы
Несмотря на то, что я не получаю никаких результатов с решением в моем ответе (это работает для меня), было более безопасно ограничить страницы в TYPO3 только для внешних пользователей. Итак, я реструктурировал свое дерево страниц, как в вашем втором примере, и все отлично работает. Спасибо!