Php 当用户不在';t验证,而不是重定向到登录页面?

Php 当用户不在';t验证,而不是重定向到登录页面?,php,angularjs,laravel,laravel-5,Php,Angularjs,Laravel,Laravel 5,目前,如果用户未登录,Laravel会将其重定向到其他URL(例如/auth/login)/auth/login包含检查用户是否提供了登录凭据的逻辑,在这种情况下,这些凭据将被重定向到另一个页面(例如/home) (这是正确的吗?我还在学习。) 我想更改此功能。理想情况下,当用户访问/或/index.php时,Laravel会检测到他没有登录,并返回不同的视图(登录表单)和不重定向。用户将在导航栏中看到/#/users,而不是/auth/login。登录表单将提交到同一页面 现在,当Larave

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

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

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

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

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


这有可能吗?拉威尔是谁?我很满意了解当前所有功能的隐藏位置,这样我就可以从那里开始了。

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

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

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

这样你的url和当前视图就不会改变,你可以完全控制你的Angular应用程序


只是一个想法……希望能有所帮助。

不是拉威尔的人,我也不知道。。但理想情况下,您要做的是检查用户是否登录到单个控制器/操作,如果没有,则呈现登录表单视图@Ray您应该签入中间件,然后确定中间件是全局的还是它将影响哪些路由/控制器操作。对。只是给用户一个起点。我对laravel/symfony或者它的服务/依赖注入模型一无所知。这在laravel中非常简单,并且已经有了一个讨论(实际上它在laravel最相关的问题列表中)。你可以找到它(也是一个解决方案)。换句话说,它基本上是这样的:Laravel可以在提供登录表单时保存请求的URL,并在登录后重定向到请求的URL;即使同时显示登录URL(例如,
/auth/login
),谢谢@Namoshek。我的印象是PHP(以及Laravel)无法访问url的哈希部分,因此如果我尝试访问/#/users,它将重定向到/。不是这样吗?