2013-07-08 4 views
1

저는 B2B2C 시스템을 구축하고 있습니다. 즉, Google 시스템은 다른 비즈니스가 고객에게 서비스를 제공 할 수있는 기능을 제공합니다.Laravel 4의 여러 사용자 유형

예를 들어, 차고. 우리의 시스템 등 자신의 고객을 것이다 각각 누구의 여러 차고, 처리 할 것

당신이 상상할 수 있듯이, 시스템에 대한 사용자의 세 가지 종류가 있습니다 :

  1. 회사 (즉 우리의 관리자/최종 사용자, 즉 기업, 즉 영업 직원)
  2. 고객()
  3. 고객() 지금까지 내가 말할 수있는

현재의 인증 시스템은() 한 가지 유형의 가정 우리는 세 가지 완전히 다른 유형의 독립형을 가지고 있지만 자체 데이터베이스에 저장되어 있습니다. 그리고 데이터 유형과 사용 권한 등이 완전히 구별되기 때문에 단일 유형으로 결합하는 것은 의미가 없습니다.

기본적으로 전용 입력 페이지를 통해 각 유형을 인증하고 로그하는 방법을 이해해야합니다.

I 수 그들을 다형성의 관계에서 사용자 테이블의 어떤 종류를 확장,하지만 난 오히려 가능하면 그냥 일이 기다리고 두통 및 재해 같은 것 때문에 피하기 것 만들기 위해 스트레칭.

환호

+0

정말 흥미로운 질문입니다. 나는 대답이 없지만 모든 유형의 사용자가 'Illuminate \ Auth \ UserInterface'를 구현하는 한 대부분의 기능이 작동 할 것입니다. 하지만 기본 Auth 정면에는 이러한 일이 일어나기 위해 약간의 재 작업이 필요할 것입니다. – DerLola

답변

0

당신은 당신의 인증 필터를 변경하고 이에 따라 세션/라우팅을 설정할 수 있습니다.

예 :

Route::group(array('prefix' => 'admin', 'before' => 'authAdmin'), function() { 
    // admin routes 
    Route::controller('foo', 'AdminFooController'); // handles /admin/foo/* 
}); 

Route::group(array('prefix' => 'business', 'before' => 'authBusiness'), function() { 
    // businesses routes 
    Route::controller('foo', 'BusinessFooController'); // handles /business/foo/* 
}); 

Route::group(array('before' => 'authEU'), function() { 
    // end user routes 
    Route::controller('foo', 'FooController'); // handles /foo/* 
}); 

// Other "non required authentication" routes