我需要爲MultiTenant Web應用程序開發自定義RoleProvider。 在數據庫層面,我們有一張表格,將用戶與角色與租戶關聯起來。MultiTenant MVC應用程序中的自定義RoleProvider
我的問題是RoleProvider得到用戶角色剛好路過的用戶作爲參數,我們需要採取的租戶考慮。
在RoleProvider實現我們:
public override string[] GetRolesForUser(string username)
{
//Code to retrieve roles from repo
}
由於角色是在特定租戶的用戶,我們需要:
public override string[] GetRolesForUser(string username, int tenantId)
{
//Code to retrieve roles from repo
}
目前的租戶存儲在ControllerBase類(一個所有的控制器都會接受)。
成員資格和角色提供者在一個單獨的項目中,所以我沒有看到使用當前租戶的方法。我想我可以在Web應用程序項目中創建自定義RoleProvider。
關於如何實現將Tenant作爲輸入的一部分的RoleProvider接口的任何想法?
你可以定義Tenant嗎? – DarthVader
租戶是一個組織,因此,對於每個組織,用戶都有一定的角色。 – Romias
基本上你需要的是裝飾模式。如果另一個項目不允許你這樣做,則需要將其包裝在另一個類中。 – DarthVader