我使用Laravel的本机身份验证模块进行登录,并使用委托进行用户角色。
当用户登录时,laravel的本机身份验证模块只检查用户名/电子邮件和密码。然后让用户登录。我已经检查了用户是否使用某个用户类型登录(用户类型也已发布)并且用户具有该角色,然后将用户发送到该角色的仪表板,否则用户将通过Auth::logout注销,并重定向到登录页面,但用户类型错误。
所有代码都可以工作,除非用户类型错误,然后显示空白登录页。我尝试了很多重定向组合,但没有成功。
我的注销和重定向代码是
protected function logoutRedirect(Request $request)
{
Auth::logout();
return redirect($this->loginPath())
->withInput($request->only($this->loginUsername(), 'remember'))
->withErrors([
$this->loginRole() => $this->getWrongRoleMessage(),
]);
/*
return view('auth.login')
->withInput($request->only($this->loginUsername(), 'remember'))
->withErrors($this->getWrongRoleMessage());
*/
/*
return redirect('/auth/login')->withErrors([$this->loginRole() => $this->getWrongRoleMessage()]);
*/
}
我已经把我可以尝试的所有重定向方法放在上面的代码中,以注释的形式。如果你能找到错误,或者如果你能提出更好的解决方案,请告诉我。我是新来的,所以如果你帮我解决这个初学者的问题,我将不胜感激。
PS:顺便说一下,我正在本地主机(xampp MS windows 7)上使用Laravel 5.1
最后,我无意中找到了解决方案,因为我在解决方案中搜索了其他东西。令人惊讶的是,在任何论坛上都没有提到这一点。
这是一段带着错误返回的代码。
redirect()->back()->withErrors([$this->loginRole() => $this->getWrongRoleMessage()]);
因此,在我们的Laravel应用程序中有两个角色(internet客户端和管理员)。下面是DB模式 我们想允许www.site。com/登录路径,仅记录具有“客户端”角色的用户。 请注意,一旦用户登录并强制注销,我们不想检查角色。 谢谢
我的登录页面将我重定向到url为而不是仪表板。这是我的登录控制器 类 网状物php 我希望重定向到仪表板页面登录后使用用户名和密码,我试图改变路线在ReDirectIfAuthenticated.php但它不工作。
本文展示了如何根据不同的用户角色,在登录之后来重定向到不同的页面。 在 method-security项目的基础上,我们构建了一个role-base-login项目。 build.gradle 修改 build.gradle 文件,让我们的role-base-login项目成为一个新的项目。 修改内容也比较简单,修改项目名称及版本即可。 jar { baseName = 'role-bas
我想配置一个cassandra角色/用户,该角色/用户只登录并“查看”特定的键空间/表。 以下是我的测试设置: 现在,我的角色“role_test”只能查询keypace“keyspace_test”,而不能查询其他键空间,这没关系,但是“role_test”可以登录并描述其他键空间,尽管它不能做任何事情,我真的想阻止这种情况。 有什么建议吗?
本文向大家介绍Laravel 登录后清空COOKIE的操作方法,包括了Laravel 登录后清空COOKIE的操作方法的使用技巧和注意事项,需要的朋友参考一下 需求 在Laravel 登陆立即清空保存的COOKIE数组 实现 关键代码 Cookie::queue(Cookie::forget('subscribe')); 但是Cookie::make($name,'hit.article',$va
我有一个现有的遗留项目,它是用Spring 3和Apache Shiro构建的,用于身份验证和授权。它使用JDBC领域。 我们使用分配给权限的权限和分配给用户的权限来实现授权。 场景如下: > use1: foRole, barRole foo角色:foo。准许1,foo。准许2. bar.permission.1,bar.permission.2 我被要求使用“user1”登录,登录后选择角色“