【问题标题】:Building with Vue Cli App and remote PHP api使用 Vue Cli 应用程序和远程 PHP api 构建
【发布时间】:2021-11-13 06:39:07
【问题描述】:

我正在做一个使用 Vue Cli 和 PHP 的项目

我的文件夹结构:

[][] -adminclient 分别包含使用 vue cli 构建的管理界面和用户界面。

Admin 有权在登录时修改加载到 client 模板中的内容。

如何在开发和生产中将admin与php api连接起来,这样如果管理员未登录,则在管理页面中无法访问任何路由。

如果我访问 http://localhost:3001/admin/dashboard 我将被重定向到 http://localhost:3001/admin/ 这是登录路径。

我的 php 在 http://localhost:3000/ 上运行

【问题讨论】:

    标签: php vue.js vuejs2 vue-cli


    【解决方案1】:

    方法: 使用 Role 和 JWT,您可以限制路由。

    参考这里:https://medium.com/@ripoche.b/create-a-spa-with-role-based-authentication-with-laravel-and-vue-js-ac4b260b882f

    【讨论】:

    • 我正在使用裸 php 构建 -- 没有框架
    • 参考。 stackoverflow.com/questions/46899545/… 高级方法是 1. 使用用户名和密码对管理员进行身份验证 - 再次从配置文件中获取数据库(推荐)/硬编码值。 2.然后在api中,您需要返回一个JWT Token(角色,用户ID的组合) 3.使用本地存储(Vue JS)将令牌存储在客户端。 4. 对于每个服务调用,例如导航到 dbd,发送此令牌并在 API 中验证它是否有效。然后相应地显示页面/显示 401。
    • 到目前为止,我可以选择在 vue 上使用导航防护,在 php 上使用 JWT 令牌。我不太确定如何设置它,尤其是 Vue-router 导航防护。任何参考都会有所帮助
    • 在 beforeEnter 动作中,可以检查是否基于角色匹配/授权。参考:medium.com/js-dojo/…
    猜你喜欢
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 2019-10-15
    • 2018-11-25
    • 1970-01-01
    相关资源
    最近更新 更多