Холодное слияние:необходим ли второй application.cfm для защищенного подкаталога на аутентифицированном сайте?

StackOverflow https://stackoverflow.com//questions/25039889

Вопрос

У меня есть аутентифицированный веб-сайт, у которого есть подкаталог с более строгими требованиями к доступу.Зарегистрироваться на главном веб-сайте может любой желающий, но войти в подкаталог могут только администраторы сайта.В настоящее время как основной сайт, так и подкаталог имеют свои собственные application.cfm файлы и страницы входа в систему.

Недавно я обновился с ColdFusion 8 на CF 10, и мне пришлось сделать большая перенастройка обработки моего сеанса.Сейчас я использую файлы cookie только для сеанса, чтобы поддерживать сеанс пользователя при перемещении по сайту.

В связи с этим изменением поведения в CF 10 я обеспокоен тем, что администраторы сайтов, которые также зарегистрированы на главном веб-сайте, будут скремблировать свои сеансы, если они будут переключаться между двумя приложениями (например, чтобы посмотреть, могут ли они воспроизвести проблемы пользователя или просмотреть сведения о базе данных при входе на основной сайт).

Учетные данные как для основного сайта, так и для подкаталога поступают из одной и той же базы данных пользователей, при этом администраторы сайта имеют флаг, который разрешает им дополнительный доступ.Я могу легко написать скрипт, который проверяет, вошел ли пользователь в систему либо на главном сайте, либо в подкаталоге, и соответствующим образом направляет их, если они меняются местами.

В итоге, в мире CF 10, нужен ли мне второй application.cfm, и, следовательно, второй набор переменных сеанса для этого подкаталога?

(Примечание: Я просмотрел оба варианта Межсайтовая аутентификация Coldfusion и Можете ли вы использовать несколько cfapplications в application.cfm? записи, и, хотя в них здесь много полезного, они не совсем отвечают на мой запрос.)

Это было полезно?

Решение

Нет, не нужно иметь несколько файлов Application.cfm / cfc.Даже не нужно иметь первый.Тем не менее, это не обязательно плохо, чтобы иметь несколько.Если у вас есть несколько, вы можете иметь разные OneRror и Onrequest, обрабатывая к подкаталому, если это выгодно для ваших целей.

Я предпочитаю использовать только одно приложение.cfc, чтобы все мои маршруты / обработки / аутентификации / аутентификации / ошибки выполняются спереди, а не разделение между основными приложениями и администрацией, и мне не нужно иметь дело с несколькими сессиямина пользователя.

Другие советы

если у вас есть session переменные в application.cfm в parent directory, вы можете просто <cfinclude> это в application.cfm файл в subdirectory.Таким образом, вы можете иметь те же значения сеанса и для файлов в подкаталоге.

Пример application.cfm в subdirectory:

<cfinclude template="/home_directory/application.cfm" />

Примечание:здесь нет необходимости использовать <cfapplication> бирка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top