User Relationships хорошо работает для контроля доступа узлов к контенту в соответствии с утвержденным списком пользователей.
Но проблема, с которой я сталкиваюсь, заключается в том, что я хотел бы также использовать основной модуль Profile и позволить тем, кто подключен через User Relationships, видеть друг друга пользовательские профили. Я потратил 2 часа, пытаясь найти способ запретить пользователю подделывать URL-адрес и просматривать любую учетную запись пользователя (для просмотра профилей пользователей в настоящее время требуется разрешение «Доступ к профилям пользователя»).
Я подумал о нескольких решениях, чтобы это исправить. Я хочу показать страницу 403, если URL-адрес подделан, а запрашивающий пользователь не имеет доступа.
Вот то, о чем я думал:
- Отключить доступ к профилю доступа пользователя
- Вызовите hook_menu_alter или hook_menu_link_alter в пользовательском модуле
- Изменить обратный вызов доступа на пользовательскую функцию, проверить связь с пользователем
- Если отношения отсутствуют, укажите 403, в противном случае верните user_view
Я хотел бы подумать об этом, потому что я хочу, чтобы эта проверка происходила на странице профиля пользователя. hook_init () показался слишком накачанным.
Было бы это эффективным решением? Мысли? Или есть модуль, который позволит мне сделать это быстро?