0
我正在嘗試爲Owin創建多個應用程序的身份驗證服務器。授予憑據時過濾擴展IdentityUserRole
爲此,我將clientId添加到我的AspNetUserRole表中,就像這樣。
public class ApplicationUserRoles : IdentityUserRole
{
public ApplicationUserRoles() : base() { }
[Key]
public string ClientId { get; set; }
[ForeignKey("ClientId")]
public Audience Client { get; set; }
}
這工作正常。
我無法找到的是我在做GrantResourceOwnerCredentials
時重寫角色列表創建的位置,所以我只能過濾當前cilentId的角色。
我試圖改變它在UserManager FindAsync(username,password)
但角色是隻讀的。
我也許我應該重寫UserStore上的某些東西,但我不確定哪種方法應該被覆蓋,以及如何確定我正在加載所有其他數據,如聲明和登錄並檢查所有安全問題它已經做到了。
任何想法將不勝感激。