2017-06-08 10 views
6

Mam działającą aplikację na symfony z silnikiem szablonowym. Bardzo przydatne jest posiadanie w szablonie obiektów i narzędzi w rodzaju is_granted('ROLE_MODER'). Czy istnieje sposób na radzenie sobie z tym wszystkim w reakcji? Na przykład dla tras myślę, że mógłbym użyć FOS JsRouting bundle, ale nie mogłem znaleźć żadnej możliwości, jak uzyskać dostęp do obiektu app lub funkcji grantu w reakcji na js.Integrowanie zabezpieczeń Symfony i innych narzędzi do szablonów z ReactJS

+0

Myślę, że [tokenów JSON] (https://knpuniversity.com/screencast/symfony-rest4/json-web-token) (https://jwt.io/) poradzi sobie z tym więcej, zwłaszcza jeśli " ponownie renderuj szablony tylko w przeglądarce, chociaż twoje punkty końcowe będą oczywiście miały pewne uprawnienia. –

+0

@JaredFarrish tak, problem, jeśli w tym przykładzie: moderatorzy muszą mieć link "usuń" dla postów i nie mam pojęcia, jak sobie z tym poradzić. – kRicha

+0

Możesz wypróbować https://github.com/nelsoft-easyshop/react-serverside-renderer – fyrye

Odpowiedz

2

Można struct swoją aplikację za pomocą hateoas:

https://github.com/willdurand/Hateoas 

a także pakiet REST

http://symfony.com/doc/current/bundles/FOSRestBundle/index.html 

Wreszcie, aby utrzymać wszystko w zakresie bezpieczeństwa można pracować z symfony wyborca ​​/ lub ACL:

http://symfony.com/doc/current/security/voters.html 

i zachowaj pełną kontrolę.

Jeśli chcesz przekazać informacje symfony do reactjs, po prostu stwórz punkt końcowy dla tego. Jeśli chcesz zbudować komponent reagujący, który obsługuje część symfony, zbuduj go za pomocą gałązki.

Proponuję jednak, abyś potraktował swoją część symfony jako API REST. Mam na myśli ... po prostu rozmawiasz z API. Twój klient ReactJs nigdy nie powinien wiedzieć, że ten interfejs API jest napisany w Symfony.

+0

tak, ale pytanie brzmi: jak radzić sobie z zabezpieczeniami od reactJs – kRicha

+0

Aby obsłużyć element aplikacji w Reacjs ... pokaż zawartość aplikacji wewnątrz punktu końcowego wywoływanego przez ReactJs. To łatwe. – sensorario

+0

i wykonać jeszcze jedno połączenie dla każdego żądania? – kRicha

Powiązane problemy