我正在用laravel创建一个多身份验证系统,其中有两种类型的用户:Admins(由我创建)和Users(使用本地laravel auth系统)。
如果我以用户身份登录,当我尝试在已经登录时访问登录页面时,它会将我重定向回仪表板,但如果我以管理员身份登录,当我再次访问管理员登录页面时,它会让我再次登录,尽管我已经以管理员身份登录。
下面是我的类RedirectIfAuthenticated的代码:
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIf
我使用Laravel的默认身份验证进行多重身份验证。我有两种类型的用户管理员和普通用户。对于管理员,我使用了管理员保护,如果我在不同的浏览器中作为2种类型的用户登录,效果很好,但问题是,当我在注销时同时作为管理员和用户登录在同一浏览器中时,它会将我重定向到管理员登录页面。如果我从管理面板注销,则希望重定向到管理员登录页面,否则,如果我从用户面板注销,它应该将我重定向到'/‘路由。这是我在认证用户文件中注销方法的代码。
public function logout(Request $request)
{
if(Auth::guard('admin'
如果您尝试访问注销的在CakePHP 2.0中的注销链接,为什么它会请求身份验证?而不是仅仅意识到您正在注销,然后将您发送到重定向注销页面,就像往常一样。
例如:
public function logout()
{
$this->redirect($this->Auth->logout());
}
这里是允许的:
public function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allow('add','login','log