Плагин безопасности Grails: перенаправление почты и передача ее данных - PullRequest
2 голосов
/ 12 января 2011

На gsp у меня есть отправка, которая переходит к действию контроллера.В этом действии я хочу выполнить некоторую обработку, а затем передать параметры записи из gsp в другой метод POST.Как я могу это сделать?

Как правило, параметры POST обрабатываются специально при вызове перенаправления?Потому что я пытаюсь сделать следующее.У меня есть несколько пользовательских gsp, которые я хочу использовать для создания учетной записи пользователя.

<form action='save' method='POST' id='createForm' class='cssform' autocomplete='off'>
<input type='text' class='text' name='j_username'/>
<input type='password' class='text' name='j_password'/>
<input type='submit' value='Create' />
</form>

В моем контроллере есть действие сохранения, которое я хочу создать в БД, затем войдите в систему.

def save = {
// creating user on DB
def config = SpringSecurityUtils.securityConfig
String postUrl = "${request.contextPath}${config.apf.filterProcesse sUrl}"
redirect(uri: postUrl, params: params)
}

Перенаправление на j_security_check вызывает ошибку входа в систему.Я подозреваю, что это из-за перенаправления.

Ответы [ 2 ]

2 голосов
/ 12 января 2011

Вы можете использовать перенаправление:

redirect(action:'xyz', controller:'Abc', params:params)

или цепные действия:

chain(action:'abc', controller:'Xyz',model:["myObject":new MyDomain(params)])

Grails - Контроллеры - Перенаправления

1 голос
/ 21 ноября 2011

В классе RequestHolderAuthenticationFilter добавьте этот "super.setPostOnly (false);"

открытый класс RequestHolderAuthenticationFilter расширяет UsernamePasswordAuthenticationFilter {

@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException {
    SecurityRequestHolder.set((HttpServletRequest)request, (HttpServletResponse)response);
    try {
        super.setPostOnly(false);
        super.doFilter(request, response, chain);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...