将Symfony安全性和其他模板实用程序与ReactJS集成

我在使用twig模板引擎的symfony上有应用程序。 在模板中使用 app.request </ code>和 app.user </ code>对象以及 is_granted('ROLE_MODER')</ code>等工具非常有用。 有没有办法处理反应js中的所有这些? 例如路线,我想我可以使用 FOS JsRouting捆绑,但我 找不到任何机会如何在反应js中访问 app </ code>
object或授予功能。 </ p>
</ div>

展开原文

原文

I have working application on symfony with twig template engine. It is very usefull to have app.request and app.user objects and utils like is_granted('ROLE_MODER') in template. Is there way for handling all this in react js? For example for routes i think i could use FOS JsRouting bundle, but i couldn't find any opportunity how could i access app object or granting function in react js.

dssu33392
dssu33392 如果您使用JWT方法,您可以将symfony用户角色添加到jwt有效负载,并构建您的访问/授权例程以对这些进行响应。至少这对于我们在角度SPA中起了作用。LexikJWTAuthenticationBundle在这里可能有所帮助。
3 年多之前 回复
doucheng5209
doucheng5209 我在Ilios项目中看到的演讲主持人:jrjohnson.github.io/slides/2015-10-symfony-api/#1例如:通过JWT的安全性
3 年多之前 回复
dongmei8760
dongmei8760 这是一个庞大的应用程序Symfony/EmberJS,我知道,但这应该有点帮助看看他们是如何做到的(这可以完全脱机):github.com/ilios此外,这是一个入门版本,可能更容易遵循但我不知道它是否处理安全问题:github.com/ucsf-ckm/symfony-emberjs-edition
3 年多之前 回复
doubiankang2845
doubiankang2845 似乎最简单的方法是将项目重写为nodejs:D
3 年多之前 回复
douxuan0698
douxuan0698 是的,这个github.com/Limenius/ReactBundle/blob/master/Resources/doc/...
3 年多之前 回复
duan_2000
duan_2000 更不用说,它是控制是否保存任何数据的服务器;是否显示按钮(显然,知道它应该是关键但是它不是安全性,这很方便),如果没有权限的人点击它,服务器应拒绝该请求,如果他们的JSONWeb令牌未经许可将其识别为某人。
3 年多之前 回复
doude4201
doude4201 如果它是使用React,Vue,Backbone或任何浏览器方面构建的SPA,请研究他们如何建议您这样做。我认为你可以通过模块访问控制它,但我不知道。
3 年多之前 回复
douanrang4728
douanrang4728 你可以试试github.com/nelsoft-easyshop/react-serverside-renderer
3 年多之前 回复
doujuegai8830
doujuegai8830 是的,问题,如果在这个例子中:版主需要有“删除”链接的帖子,我不知道如何处理这种情况。
3 年多之前 回复
duanlu1950
duanlu1950 我认为JSONweb令牌(jwt.io)会处理更多,特别是如果你只在浏览器中渲染你的模板,虽然你的端点当然会有某种权限。
3 年多之前 回复

1个回答



您可以使用HATEOAS构建应用程序:</ p>

  https:// github。  com / willdurand / Hateoas 
</ code> </ pre>

以及REST包</ p>

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

nn

最后,为了保证一切安全,你可以使用symfony的选民/或ACL:</ p>

<前> http://symfony.com/doc/current/security/voters.html
</ code> </ pre>

并保留您需要的所有控制权。 </ p>

如果您想将symfony信息告诉reactjs,只需为此创建一个端点即可。 如果你想构建一个处理symfony部分的react组件,请使用twig构建它。</ p>

但我建议你将symfony部分视为REST API。 我的意思是,......你只是在谈论API。 您的ReactJs客户端永远不应该知道该API是用Symfony编写的。</ p>
</ div>

展开原文

原文

You could struct your application using HATEOAS:

https://github.com/willdurand/Hateoas

and also a REST bundle

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

Finally, to keep everything in security you can work with symfony's Voter/or ACL:

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

and keep all the control you need.

If you want to tell symfony information to reactjs, just create an endpoint for this. If you want to build a react component that handle with symfony's part, build it using twig.

But I suggest you to consider your symfony part as a REST API. I mean, ... you are just talking with an API. Your ReactJs client should never know that that API is written in Symfony.

drxt70655
drxt70655 不,我只是在寻找最佳方式=)
3 年多之前 回复
doushi6947
doushi6947 你想在客户端做你已经在服务器端做的同样的事情^ _ ^
3 年多之前 回复
douchunxian9740
douchunxian9740 并为每个请求再打一次电话?
3 年多之前 回复
douxiangdiao6348
douxiangdiao6348 要在Reacjs中处理app元素,...只需在通过ReactJs调用的端点内显示app内容。 这很简单。
3 年多之前 回复
douhui3305
douhui3305 是的,但问题是如何处理reactJs的安全性
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐