我有一个具有角色的管理登录名。它的用户admin和superadmin。我在中间件中创建所有角色,并在LoginController中的以下代码中创建:
protected function authenticated(Request $request, $user)
{
if ( $user->isAdmin() ) {
return redirect()->route('admin_dashboard');
}
elseif ($user->isSuperadmin()) {
return redirect()->route('superadmin_dashboard');
}
else{
return redirect()->route('dashboard');
}
}
它的工作正常,如果我登录admin,将其重定向到admin_dashboard,但是是,如果我关闭该浏览器并运行localhost:8000,则其重定向到< strong> home 而不是 admin_dashboard 。
我的问题,如何设置以管理员身份登录并关闭浏览器并运行localhost:8000进入admin_dashboard?
答案 0 :(得分:0)
我认为您应该根据“ admin”,“ superamdin”等角色名称创建多个后卫。
这是在laravel中创建multiauth的链接。 https://www.youtube.com/watch?v=iKRLrJXNN4M&t=1s
创建多个防护后,您可以使用中间件来重定向经过身份验证的用户。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>Displaying value of system variables</echo>
<echo> ${env.YOUR_ENVIRONMENT_VARIABLE_NAME}</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
第二个选项
将身份验证详细信息存储在cookie中,并且在凝视应用程序时只需检查一次即可进行相应的重定向。