Authentication cakephp 3中的多次登录
我必须在单独的登录屏幕上创建用户-供应商类型。在我添加的Appcontroller下Authentication cakephp 3中的多次登录,authentication,cakephp-3.0,cakephp-3.x,cakephp-3.4,Authentication,Cakephp 3.0,Cakephp 3.x,Cakephp 3.4,我必须在单独的登录屏幕上创建用户-供应商类型。在我添加的Appcontroller下 public function beforeFilter(Event $event){ $this->Auth->allow(['login', 'logout','vendor_login','vendor_logout']); } $this->loadComponent('Auth', [ 'authorize' => [
public function beforeFilter(Event $event){
$this->Auth->allow(['login', 'logout','vendor_login','vendor_logout']);
}
$this->loadComponent('Auth', [
'authorize' => [
'Acl.Actions' => ['actionPath' => 'controllers/']
],
'loginAction' => [
'plugin' => false,
'controller' => 'Users',
'action' => 'login'
],
'loginRedirect' => [
'plugin' => false,
'controller' => 'Pages',
'action' => 'display',
'home'
],
'logoutRedirect' => [
'plugin' => false,
'controller' => 'Users',
'action' => 'login'
],
'vendorLoginAction' => [
'plugin' => false,
'controller' => 'Users',
'action' => 'vendorLogin'
],
'vendorLoginRedirect' => [
'plugin' => false,
'controller' => 'BoldNumberRequest',
'action' => 'index',
'home'
],
'vendorLogoutRedirect' => [
'plugin' => false,
'controller' => 'Users',
'action' => 'vendorLogout'
],
'unauthorizedRedirect' => [
'controller' => 'Pages',
'action' => 'display',
'prefix' => false
],
'authError' => 'You are not authorized to access that location.',
'flash' => [
'element' => 'error'
]
]);
Router::scope('/', function (RouteBuilder $vendorroutes) {
$vendorroutes->setExtensions(['json', 'xml','pdf']);
$vendorroutes->connect('/', ['controller' => 'Users', 'action' => 'vendorLogin']);
$vendorroutes->connect('/boldnumberrequest/*', ['controller' => 'BoldNumberRequest', 'action' => 'index-vendor']);
$routes->fallbacks(DashedRoute::class);
});
Router::prefix('vendorLogin', function ($vendorroutes) {
$vendorroutes->fallbacks('DashedRoute');
});
已为用户创建vendorLogin函数和vendor_login.ctp。
在route.php文件中,我添加了
public function beforeFilter(Event $event){
$this->Auth->allow(['login', 'logout','vendor_login','vendor_logout']);
}
$this->loadComponent('Auth', [
'authorize' => [
'Acl.Actions' => ['actionPath' => 'controllers/']
],
'loginAction' => [
'plugin' => false,
'controller' => 'Users',
'action' => 'login'
],
'loginRedirect' => [
'plugin' => false,
'controller' => 'Pages',
'action' => 'display',
'home'
],
'logoutRedirect' => [
'plugin' => false,
'controller' => 'Users',
'action' => 'login'
],
'vendorLoginAction' => [
'plugin' => false,
'controller' => 'Users',
'action' => 'vendorLogin'
],
'vendorLoginRedirect' => [
'plugin' => false,
'controller' => 'BoldNumberRequest',
'action' => 'index',
'home'
],
'vendorLogoutRedirect' => [
'plugin' => false,
'controller' => 'Users',
'action' => 'vendorLogout'
],
'unauthorizedRedirect' => [
'controller' => 'Pages',
'action' => 'display',
'prefix' => false
],
'authError' => 'You are not authorized to access that location.',
'flash' => [
'element' => 'error'
]
]);
Router::scope('/', function (RouteBuilder $vendorroutes) {
$vendorroutes->setExtensions(['json', 'xml','pdf']);
$vendorroutes->connect('/', ['controller' => 'Users', 'action' => 'vendorLogin']);
$vendorroutes->connect('/boldnumberrequest/*', ['controller' => 'BoldNumberRequest', 'action' => 'index-vendor']);
$routes->fallbacks(DashedRoute::class);
});
Router::prefix('vendorLogin', function ($vendorroutes) {
$vendorroutes->fallbacks('DashedRoute');
});
供应商登录屏幕即将出现,但登录后应重定向到
但它会重定向到其他登录用户的默认设置。
此过程是否正确,以及如何在登录后更改默认重定向。您在其中编写的内容实际上并不正确。您只能为AuthComponent配置一个
loginAction
。因此,就CakePHP而言,该代码是无效的。“用户-供应商类型”并没有多大说明。重写问题以更好地解释您的用例。你想干什么?看看这里