目前,如果用户尚未登录(例如/auth/login
),Laravel会将用户重定向到其他网址。 /auth/login
包含用于检查用户是否提供了登录凭据的逻辑,在这种情况下,它们被重定向到另一个页面(例如/home
)。
(这是正确的吗?我还在学习。)
我想更改此功能。理想情况下,当用户访问/
或/index.php
时,Laravel会检测到他未登录并返回其他视图(登录表单)和不重定向。用户会在导航栏中看到/#/users
,而不是/auth/login
。登录表单将提交到同一页面。
现在,当Laravel检测到用户未登录但Auth::check()
正常工作时,它会将用户登录并继续使用原始视图。
我之所以这样做,是因为Angular视图导航仍然有效。由于重定向,#param(/#/users
)会丢失,我们只能将用户重定向到信息中心。
这可能是Laravel吗?我对在隐藏所有当前功能的地方学习感到满意,所以我可以从那里开始。
答案 0 :(得分:0)
Laravel会将用户重定向到auth / login,然后在身份验证后将其重定向回原来的视图。
防止这种情况发生的一种方法是使用Laravel作为API资源,让Angular应用程序控制用户界面和操作。
例如,当用户登陆“/”时,您的Angular应用程序将通过ajax调用从Laravel API收集所有必要的数据。第一个ajax调用是检查用户是否经过身份验证,如果没有,请使用Angular显示带有登录表单的模式。然后使用表单通过Laravel API对用户进行身份验证。
这样您的网址和当前视图就不会更改,并且您可以完全控制Angular应用。
只是一个想法......希望它有所帮助。