我正在制作一个Laravel应用程序,该应用程序具有诸如用户,项目,user_items等“服务”表。限制数据库中的表,用户可以在Laravel中运行查询
此外,我有我需要允许用户运行他们的查询表。也就是说,用户将他的查询发送到服务器并在那里运行。
问题是:我想允许用户只运行SELECT查询并禁止运行UPDATE,INSERT和DELETE。 另外,我需要允许只在确定的表上运行这些查询。也就是说,用户不允许从用户表中进行选择。
用户将运行原始查询,即DB:raw()将被使用。
我怎么能在Laravel中做到这一点?
其中一个解决方案是创建两个数据库:MYSQL和sqlite,并允许用户只使用sqlite来运行查询,但在这种情况下测试会出现问题。
您的意思是,有些用户可以使用表格,有些用户则不允许? –
不是。我的应用程序的所有用户都可以将自己的查询发送到应用程序。这将是一个应用程序,它将检查用户是否正确查询任务。例如,用户将有任务从表中选择商品。他将发送查询“SELECT * FROM goods”,服务器将检查它是否正确完成。 –
首先检查用户是否有权使用此功能,然后执行查询。如何执行查询,然后检查用户是否有权使用此功能。 –