2014-01-27 5 views
0

zend framework, symfony, doctrine의 내 응용 프로그램.클라이언트 사용자를 통한 사용자 인증

내 웹 응용 프로그램에는 다른 엔티티와 관련된 제품 및 제품과 같은 엔티티가있는 여러 클라이언트가 있습니다.

사용자 표 (클라이언트) :

id  Name 
---------------- 
1  A 
2  B 

제품 테이블 :

id  Name  
------------- 
1  Product-1 
2  Product-2 
3  Product-3 

UserProduct 테이블 :

id  user_id product_id 
1  1   1 
2  1   2 
3  2   3 
,369 다음은 내 문제입니다

클라이언트는 'A'로그인, URL 후 제품을 편집로 이동합니다 xyz.com/product?id=1

그래서 클라이언트 'B'는 편집하지 말아야 제품 ID = 1

을 : xyz.com/product?id=1이 지금 클라이언트 B는 '로그인, URL 후 제품을 편집로 이동

일반적으로 기능을 만들 수 있습니까?

답변

0

예. 당신은 클라이언트 'B'가 제품 id = 1을 수정해서는 안된다는 것을 제한 할 수 있습니다. 당신은 레코드 폼 테이블을 얻기 위해 조인을 사용할 수 있습니다. 당신은 세션이 현재 클라이언트에 다른 클라이언트 제품을 보는 것을 허용하지 않습니다

SELECT * FROM product p LEFT JOIN userproduct up ON (p.id == up.product_id) WHERE p.id = '1' AND up.user_id = $_SESSION['user_id'] ; 

user_id을 유지해야합니다.

+0

당신 말이 맞지만 매번 쿼리를하지 않아도됩니다. 내 응용 프로그램에는 여러 모델이 있으므로 generalize로 제한하고 싶습니다. ACL과 마찬가지로 사용자가 컨트롤러/동작 등에 액세스하도록 제한하지만이 문제와 같이 제한하지 않습니다. 내 문제를 파악 했습니까? –

관련 문제