Orchard MVC — войдите в систему с помощью ajax и отправьте другую форму на текущей странице

У меня есть форма (POST), и аноним может ввести значение в поле ввода. Но если они хотят отправить, они должны войти в систему. Я создал форму входа в систему ajax и выполнил вход в свое действие, затем я отправляю первую форму, система выдает «Требуемый токен защиты от подделки не был предоставлен или был недействителен. .".

Что я должен сделать для решения этой проблемы? (извините, мой английский не очень хорош)


person Kent Nguyen    schedule 26.05.2012    source источник


Ответы (1)


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

person Bertrand Le Roy    schedule 27.05.2012
comment
Спасибо @Бертран! Я попытался получить новый токен в своем действии, но безуспешно. Можете ли вы помочь мне получить новый токен для действия JsonResult? - person Kent Nguyen; 27.05.2012
comment
Я не совсем уверен, потому что вызов помощника может не работать напрямую, если ему нужен контекст. Я хотел бы быть более полезным, но лучший способ узнать это, вероятно, попытаться использовать помощников для получения токена из представления, но из вашего действия, и решать трудности по ходу дела. - person Bertrand Le Roy; 27.05.2012
comment
привет @Bertrand, я попытался создать HtmlHelper в своем действии, как в этой ссылке я получил новый токен и заменил им текущий токен, но все равно получаю ошибку. новый токен, созданный в действии, не подходит? - person Kent Nguyen; 28.05.2012
comment
Я не знаю, вы не сказали, какой вспомогательный метод вы использовали или как вы добавили его в форму. - person Bertrand Le Roy; 28.05.2012
comment
хорошо @Bertrand, у меня есть новое решение для моей проблемы. спасибо, что прочитали мой первый вопрос. - person Kent Nguyen; 29.05.2012
comment
Можете ли вы поделиться тем, что вы сделали, чтобы другие наслаждались? Кроме того, если мой ответ помог вам, пожалуйста, предоставьте его как ответ. Спасибо. - person Bertrand Le Roy; 30.05.2012