Здесь есть несколько вопросов:
- Аутентификация и авторизация пользователя, выполняющего операцию
- Защита от CSRF.
Решите, что вам нужно сделать. Первый должен обрабатываться файлами cookie, HTTP-аутентификацией (которую браузер также отправляет для запросов AJAX) или каким-либо пользовательским методом (например, дополнительный параметр, содержащий аутентификацию)
CSRF - это другое дело, но вы можете легко избежать этого, убедившись, что запрос действительно пришел через AJAX, а не через обычную форму-пост. Это должно быть достигнуто путем добавления дополнительного заголовка, который не может быть добавлен кем-либо путем создания формы HTTP (примечание: не все заголовки могут быть добавлены Javascript, попробуйте использовать X-заголовок).
Другая возможность заключается в том, чтобы вообще не использовать закодированный в форме пост; если вы ожидаете, что в теле будет JSON-объект, который не может быть получен с другого сайта, поскольку браузеры не будут отправлять его через HTTP POST в обычном режиме.