我想用小巧玲瓏創建我自己的實現Microsoft.AspNet.Identity存儲數據的任何信息(這意味着,我刪除的EntityFramework默認實現)。有沒有約的UserManager <TUser>這是Microsoft.AspNet.Identity
我創建MyUserStore
,即實現IUserStore
,並將它傳遞到UserManager
這樣的:
private UserManager<User> _userManager { get; set; }
public AccountController() : this(new UserManager<User>(new MyUserStore())) {}
public AccountController(UserManager<User> userManager) {
_userManager = userManager;
}
,一切都很好,直到我不想添加角色(我在MyUserStore
接口IUserRoleStore
實現)。
當我看着UserManager
簽名,我是一個有點困惑,因爲我不知道這些方法是如何工作的:
[AsyncStateMachine(X)]
[DebuggerStepThrough]
public virtual Task<IList<string>> GetRolesAsync(string userId);
[AsyncStateMachine(X)]
[DebuggerStepThrough]
public virtual Task<bool> IsInRoleAsync(string userId, string role);
我可以打電話給他們,可以看到,我如何進入MyUserStore
,但在肯定其他方法:
public Task<IList<string>> GetRolesAsync(User user)
public Task<bool> IsInRoleAsync(User user, string role)
所以,我卡住了一點,因爲我不明白,我應該怎麼做UserManager
和方式,與RoleManager
。
我應該實現自己的UserManager
還是隻能使用默認實現?爲什麼?
Sry如果問題是跛腳,但有很多關於UserStore
的信息,但沒有關於UserManager, RoleManager
e.t.c.
我知道,但我應該怎麼做'UserManager'
這些方法只會工作? – FSou1
你可以將你的UserStore插入UserManager,它將使用它。你能否重新解釋你的問題? Myabe我不完全理解你的問題。 –