Вход в систему Silex REST — как это работает?

Я использую Silex для серверной части приложения angularjs. Я хочу реализовать аутентификацию пользователя. Я использовал это руководство (http://www.bubblecode.net/en/2012/08/28/mysql-authentication-in-silex-the-php-micro-framework/) и официальную документацию по его реализации. Бэкэнд возвращает чистый JSON, без HTML.

Мои вопросы:

  • Как я должен отправить запрос на вход? Я никогда не получаю соответствующий ответ, только перенаправление 301. Это тот же ответ, что и при попытке доступа к ресурсу, к которому у меня нет доступа.
  • Бэкэнд всегда перенаправляет меня на маршрут входа, если у меня нет доступа к странице. Все, что я хочу, это 401. Как я могу изменить это поведение?

Спасибо ребята! Ура Крис


person user1879408    schedule 05.05.2013    source источник
comment
Спасибо мпм! Конечно, логин должен быть частью углового приложения, но суть моего вопроса не в этом. Я хочу иметь rest-интерфейс. Мой вопрос, как должен выглядеть пост, я отправляю в сгенерированный метод login_check?   -  person user1879408    schedule 05.05.2013


Ответы (1)


Вызов должен отправить параметры _username и _password на URL-адрес проверки.

Это взято из официальной документации, которую можно найти здесь:

К форме очень мало требований. Во-первых, отправив форму в /login_check (через маршрут login_check), система безопасности перехватит отправку формы и автоматически обработает форму для вас. Во-вторых, система безопасности ожидает, что отправленные поля будут называться _username и _password (имена этих полей можно настроить).

По вашему второму вопросу: вы можете указать маршрут перенаправления, как описано здесь. Затем просто верните 401 в качестве ответа для этого маршрута.

Я надеюсь, что это поможет вам. Извините за мой плохой английский!

person Fatal705    schedule 27.05.2013