2014-10-14 3 views
2

내 laravel 5 앱을 사용하면 관리자와 클라이언트가 모두 필요합니다. 과거에는 두 가지 모두에 대해 user 테이블을 사용했고 더 많은 클라이언트 정보를위한 조인 테이블을 사용하여 어떤 유형의 사용자인지에 대한 플래그를 가졌습니다.두 가지 유형의 사용자가있는 Laravel

나는이 접근법이 상당히 교묘하다는 것을 알았습니다 ... 그리고 users 테이블과 모델 및 클라이언트 테이블과 모델을 가지고있는 것이 더 좋을 것이라고 생각합니다.

이것은 내 문제가되지만, 인증 암호 재설정, 인증 시도는 사용자 테이블에 대한 것입니다. 이것을 클라이언트 테이블에서도 작동하게 할 수 있습니까?

그게 가능합니까? (해결 방법으로도 영향을 미칠 수 있으므로 laravel 4에 태그를 추가했습니다.)

답변

2

나는 Laravel에서 여러 사용자를 다루는 데 비슷한 문제가있었습니다.

나는 문서 꽤 정직 https://github.com/ollieread/multiauth

를이 체크 아웃의 multiauth Laravel 패키지는 매우 도움이 될 것으로. 플러그인은 궁극적으로 네이티브 Laravel Auth를 확장하여 여러 사용자가 사용할 수 있도록합니다.

나 웹 사이트에서 미리보기 붙여 보자

사용을

모든 것은 하나 개의 예외가 모든> 메서드 호출이 키 접두어로되고, 원래의 라이브러리로 동일한 방식으로 이루어집니다 (위의 예제에서 계정 또는 사용자)를 메소드 자체로 사용합니다. 나는 사용자 유형이라는 사용자()의 사용자() 메소드를 호출 할 필요가 발견

Auth::account()->attempt(array(
    'email'  => $attributes['email'], 
    'password' => $attributes['password'], 
)); 
Auth::user()->attempt(array(
    'email'  => $attributes['email'], 
    'password' => $attributes['password'], 
)); 
Auth::account()->check(); 
Auth::user()->check(); 

지저분한 모습, 그래서 그것을 감싸는하기 좋은 get 메소드에 추가했습니다. 당신은 예를 다시 만들거나 무언가를 확인하기 위해 사용자를 가장 관리자되고, 다른 사용자 유형을 가장 할 수있는 사용자 유형이 인스턴스에서

Auth::user()->get(); 
는, 나는 가장 할() 메소드에 추가하는 간단 요청 사용자 유형에 대해 loginUsingId()를 래핑합니다.

Auth::admin()->impersonate('user', 1, true); 

첫 번째 인수는 두 번째 상기 사용자의 ID이고, 상기 사용자 입력, 그리고 셋째는 기본적으로 FALSE 사용자가 기억하기 때문에, 남아있을 수 있는지 여부이다 밖으로 자주보다.

기타 등등.

희망이 있습니다.

+0

이것은 꽤 가까운 메신저 소리가납니다 !! 감사합니다, 다른 것이 나올지 만 알 수 있습니다 – Wizzard

+0

@ Wizzard 도와 드리겠습니다! 그것이 당신을 위해 작동한다면, 당신이 내 대답을 받아 들일 수 있다면 좋을 것입니다. 감사! –