首页 文章

当用户未经过身份验证而不是重定向到登录页面时,如何让Laravel发送登录表单?

提问于
浏览
2

目前,如果Laravel未登录(例如 /auth/login ),则会将用户重定向到其他URL . /auth/login 包含用于检查用户是否提供了登录凭据的逻辑,在这种情况下,它们被重定向到另一个页面(例如 /home ) .

(这是正确的吗?我还在学习 . )

我想改变这个功能 . 理想情况下,当用户访问 //index.php 时,Laravel会检测到他没有登录并返回不同的视图(登录表单)和 not 重定向 . 用户将在导航栏中看到 /#/users ,而不是 /auth/login . 登录表单将提交到同一页面 .

现在,当Laravel检测到用户未登录但 Auth::check() 正常工作时,它会将用户登录并继续原始视图 .

我想这样做的原因是Angular视图导航仍然有效 . 由于重定向,#param( /#/users )丢失,我们只能将用户重定向到仪表板 .

这可能是Laravel吗?我会对学习隐藏所有当前功能的地方感到满意,所以我可以从那里开始 .

1 回答

  • 0

    Laravel会将用户重定向到auth / login,然后在身份验证后将其重定向回原始视图 .

    防止这种情况发生的一种方法是使用Laravel作为API资源,让Angular应用程序控制用户界面和操作 .

    例如,当用户登陆“/”时,您的Angular应用程序将通过ajax调用从Laravel API收集所有必要的数据 . 第一个ajax调用是检查用户是否经过身份验证,如果没有,请使用Angular显示带有登录表单的模式 . 然后使用表单通过Laravel API对用户进行身份验证 .

    这样您的网址和当前视图就不会更改,并且您可以完全控制Angular应用 .

    只是一个想法...希望它有所帮助 .

相关问题