Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 4 » Создание кастомной авторизации » 23.09.2014 16:22:49

nonamez
Ответов: 0

В общем то у меня есть две таблицы (старые пользователи и новые админы). Под старых пользователей заточена вся система, но админку нужно отделить, в связи с чем и понадобилась эта затея...
В общем-то попытался напилить дополнительный класс авторизухи под админку и всё бы нечего, да вот после редиректа / перезагруки он более не работает...  AdminAuth::guest() возвращает всегда TRUE, за исключением если его вызывать сразу после AdminAuth::attempt.

Facade:

use Illuminate\Support\Facades\Facade;

class AdminAuth extends Facade {
	
	protected static function getFacadeAccessor() 
	{
		return 'admin_auth';
	}
}

New Guard:

use Illuminate\Auth\Guard;

class AdminAuthGuard extends Guard {

	public function getName()
	{
		return 'login_' . md5('AdminAuth');
	}

	public function getRecallerName()
	{
		return 'remember_' . md5('AdminAuth');
	}
}

Service Provider:

use Illuminate\Support\ServiceProvider;
use Illuminate\Auth\EloquentUserProvider;

class AdminAuthServiceProvider extends ServiceProvider {
	protected $defer = false;

	public function register()
	{
		$this->app->bindShared('admin_auth', function ($app) {
			$guard = new AdminAuthGuard(
				new EloquentUserProvider(App::make('hash'), 'AdminAuthModel'), 
				App::make('session.store'),
				$app->request
			);
			
			$guard->setCookieJar($app['cookie']);
			
			return $guard;
		});
	}
}

Подвал раздела