2013-10-16 2 views
1

Я пишу REST API с Slim, и я хочу, чтобы некоторые части моего API требовали входа в систему, а некоторые из них были общедоступны. Для аутентификации я использую промежуточное ПО StrongAuth из Slim Extras.Частичное применение промежуточного ПО для приложений с тонкой фреймворком PHP

К сожалению, StrongAuth убивает запрос, если аутентификация не предоставляется, и является промежуточным программным обеспечением для приложения (которое, кажется, все или ничего), поэтому я создаю свой API, полностью защищенный StrongAuth, позволяя доступ к государственным ресурсам с помощью фиктивного входа в систему.

Однако это не идеально; Я бы хотел иметь незащищенные ресурсы. Я попытался запустить два приложения в одном файле, но один из них всегда выдает ошибку 404, что явно неприемлемо.

Кто-нибудь знает способ применения промежуточного ПО на уровне приложения только для некоторых маршрутов в Slim или для запуска нескольких приложений Slim в одном файле без проблем?

ответ

2

Тонкие посредники реализуют общедоступный вызов метода(), вы можете попробовать добавить его на нужный маршрут таким образом. Для этого вам нужно получить экземпляр вашего промежуточного программного обеспечения ($ auth), не используя его в качестве промежуточного программного обеспечения.

$app->get('/yourSecuredRoute', array($auth,'call'), function() use($app){ 
     $app->render('index.html'); 
}); 

Не уверен, что, если он работает, и даже если это произойдет, это сложно и должно быть лучше, например, как писать свой собственный маршрут на уровне промежуточного программного обеспечения.

+0

Спасибо! Я не очень много парней PHP, и этого не было в документации. –

+0

Нет, если strongAuth y уровень приложения и вы используете его в качестве промежуточного программного обеспечения маршрута, он будет работать дважды в этом маршруте ... Я думаю ... @john сделал это так, как вы ожидали? – KnF

+0

Если я правильно помню, вы не должны добавлять его в качестве промежуточного продукта на уровне приложения, а только для определенного маршрута. – webaba

Смежные вопросы