Я знаю, что я могу использовать аннотацию или сопоставление запроса, чтобы ограничить доступ к ACTION определенными ROLES. Но теперь у меня другое обстоятельство.Как использовать плагин Grails Spring Security для входа в систему перед доступом к действию?
Мой сценарий: каждый пользователь моего сайта может создавать сообщения, и они могут сделать свой собственный пост общедоступным, приватным или доступным только для других пользователей. Я реализую совместное использование таблицы базы данных PERMISSION, которая указывает, имеет ли пользователь право просматривать сообщение или нет.
Проблема заключается в том, что, когда клиент получает доступ к почте через прямую ссылку, как я могу определить, у него/нее есть привилегия для ее просмотра? Там в 3 обстоятельства:
- Сообщение общественности, поэтому он может быть просмотрен любым (в том числе не-логин пользователя)
- Пост является частным, поэтому только Войти владелец может просмотреть его
- Сообщение делится, это означает, что только пользователь-пользователь, который является общим, и владелец может его просмотреть.
Я хочу, чтобы обрабатывать как это:
- Если запрашиваемое сообщение является публичной: ок.
- Если запрашиваемая должность закрыта/доступна: я хочу перенаправить пользователя на страницу входа; после регистрации , пользователь будет перенаправлен на страницу, которую хочет видеть.
Проблема здесь заключается в том, что я могу перенаправить пользователя для входа контроллер/действие аутентификации, но после того, что я не знаю, как перенаправить его обратно. Ссылка на каждый пост отличается post_id, поэтому я не могу использовать SpringSecurityUtils.securityConfig.successHandler.defaultTargetUrl
Может ли кто-нибудь знать способ сделать это?
спасибо, у него есть этот параметр. Но дело здесь в том, что ссылка не исправлена, и я должен создать ссылку post_id. –