跨客户端用户的用户身份验

时间:2014-01-27 12:57:06

标签: php mysql symfony doctrine-1.2

我在zend框架中的应用,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

客户'A'登录后去编辑产品,网址:xyz.com/product?id=1 现在客户'B'在登录后编辑产品,网址:xyz.com/product?id=1

因此客户'B'不应编辑产品ID = 1。

是否可以进行一般功能?

1 个答案:

答案 0 :(得分:0)

是。您可以限制客户端'B'不应编辑产品ID = 1.您可以使用连接来获取记录表格表。您必须在会话中维护user_id

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'] ;

这不允许查看其他客户端产品到当前客户端。