2016-02-18 60 views
-2

在Symfony2中訪問每個人的帳戶,禁止用戶我想知道我應該如何自定義防火牆,因此用戶無法使用fosUser捆綁使用fosuserBundle

回答

1

訪問比他們的任何配置我認爲你這裏混合關注。 FOSUserBundle允許你管理用戶和普通用戶管理任務(重置密碼之類的)。

在另一方面,防火牆,是Symfony的安全組件的一部分決定不管你是驗證足夠訪問給定的資源。

但是我認爲你真正在做的是authorisation資源,它也是安全組件的一部分,但它不是防火牆。這個想法是,一旦你通過防火牆,認證令牌被授予當前用戶。請注意,此令牌也可能意味着用戶根本沒有進行身份驗證。這個Token對於你想要做的事情非常有用,它基本上決定了當前用戶是否可以訪問給定的資源。

這導致我們到Voters。選民是賦予令牌的邏輯單元,並且一些元數據能夠確定令牌是否被授權用於該資源。

因此,在一天結束時,如果您正在運行多租戶應用程序,常見模式是將幾乎每個實體都與其所屬的帳戶/用戶相關聯。然後檢查當前用戶是否有權查看/編輯/刪除它應該是微不足道的。