【问题标题】:Laravel authentication or mix of Laravel and vuejs authenticationLaravel 身份验证或 Laravel 和 vuejs 身份验证的混合
【发布时间】:2019-08-12 20:20:51
【问题描述】:

我有一个关于任务简单性的问题。我对 laravel 和 vue js 还很陌生,不过我习惯了 php 和 javascript。

我希望我的问题是有道理的,因为我不确定这些技术是否像我想的那样工作。

所以我想做一个 SPA 项目,以 laravel 作为后端,vuejs 作为前端,mysql 作为数据库。我需要网站在线并希望通过身份验证来授予用户访问网站不同部分的权限。比方说,您必须自己注册。如果是普通用户,他可以看到“UserDashboard”,如果是管理员,他可以看到“AdminDashboard”。

我遇到过一些教程,它们展示了如何通过使用 vue 组件来处理登录/注册/注销来创建身份验证系统...在我看来这非常复杂和混乱。

仅使用 laravel 身份验证和刀片模板进行身份验证,然后为注册用户/管理员显示 SPA 是否更容易?如果可能的话。暂时只看到了我提到的第一个选项。

编辑:

这是一张图片来说明最后一种方法

Laravel authentication, then show SPA

【问题讨论】:

    标签: laravel authentication web vue.js


    【解决方案1】:

    如果你使用 Laravel Mix,只需一个刀片模板来托管你的应用程序(它已经在 Laravel 中设置好了)。但是,如果您将 Laravel 用于 API 并将单独的项目用于前端 SPA,请使用 Passport。 Here's one of the ways 去做。

    如果您使用 Laravel Mix,CSRF 令牌已经在元标记中,并且正在添加到 Axios。您需要做的就是在刀片模板上显示您的应用程序。

    您还可以为登录/注册等设置单独的刀片视图,并在登录时显示 SPA。但这并不是真正的最佳做法。自从弄清楚如何使用 Passport 之后,我就一直走单独的 vue 项目路线。

    【讨论】:

    • 我听说使用 passeport 有点困难,而且更面向更大的项目。我的项目只有 2 到 3 个用户。你怎么看待这件事?我还使用 JWT 令牌进行了测试,并且仅使用刀片显示 SPA。所以这就是你定义的 Laravel mix 我猜。我发现你提到的最后一种方法对我来说是最简单和更清晰的方法。我已经使用 laravel 身份验证进行了测试,并在登录时显示 SPA。我喜欢身份验证是独立的这一事实,因为我只需要它来显示 SPA。我将在编辑部分显示一个 img。
    • 你快到了。登录后,在您正在加载的视图中,为您的应用程序提供具有所需 ID 的元素,并确保 SPA 所需的 JS 文件正在该页面中加载。他们将在该视图中启动 SPA。您还可以将 section 命名为 scripts 用于刀片视图,并使用 @yield('scripts') 并在此处动态添加视图的 js 文件。
    猜你喜欢
    • 2017-06-18
    • 2020-06-21
    • 2016-05-16
    • 2016-08-03
    • 1970-01-01
    • 2017-04-23
    • 2020-06-21
    相关资源
    最近更新 更多