Я считаю, что это отличная идея. Для многих типов форумов информирование о том, что что-то существует, не является уязвимостью безопасности и действительно улучшит доступность.
Сложность здесь заключается в правильном названии настройки сайта и объяснении её назначения. Я постарался сделать это ниже, но не возражаю против правок.
Вот мини-спецификация:
-
Добавить новую настройку сайта
detailed_404со значением по умолчаниюfalse. «Предоставляет пользователям больше информации о том, почему они не могут получить доступ к конкретной теме. ПРИМЕЧАНИЕ: Это менее безопасно, так как пользователи будут знать, существует ли тема по указанному URL-адресу или нет». -
При включении этой настройки в контроллере тем, если проверка Guardian не пройдена, вернуть JSON-объект с деталями о причине неудачи.
-
В фронтенд-приложении использовать эти данные для отображения соответствующего сообщения об ошибке:
-
Для анонимных пользователей: «Извините, для просмотра этой темы вам необходимо войти в систему».
-
Для авторизованных пользователей:
-
Если тема ограничена одной группой (за исключением групп сотрудников): «Доступ к этой теме ограничен для группы GROUP_NAME.» и добавить кнопку Запросить доступ.
-
Если тема ограничена несколькими группами, отобразить общее сообщение: «У вас нет доступа к этой теме. Пожалуйста, обратитесь к тому, кто предоставил вам ссылку, чтобы запросить доступ».
-
-