1
ApplicationDbContext _context = new ApplicationDbContext(); 
UserManager<ApplicationUser> _userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(_context)); 

我從角色由以下刪除用戶:Microsoft身份 - 從角色中移除用戶,但用戶仍可以訪問,直到註銷

userManager.RemoveFromRole("userId", "roleName"); 

和它的作品幾乎一樣,我想它。但是,如果我刪除了當前登錄到我的應用程序的用戶,那麼他仍然可以對我的所有WebApi電話「授權」,直到他已被註銷。我究竟做錯了什麼?

編輯:

要不我怎麼能signout從給定碼的用戶?

回答

0

兩件事情:

如果您正在使用OAuth索賠,這是如何失效的會話一個很好的例子:https://timmlotter.com/blog/asp-net-identity-invalidate-all-sessions-on-securitystamp-update/

希望這有助於!

+0

我只是不明白爲什麼沒有其他的例子,使用「RemoveFromRole」不解決這個問題。如果您從管理員角色中刪除某人,並且他的會話設置爲最後一年,那麼他可以搞砸您網站的所有內容。爲什麼沒有「簡單」的方法來做到這一點,我認爲這是一件非常必要的事情? –

+0

@SimonSondrupKristensen表示贊同,對於角色/用戶/組等單個實體來說,這可能會更容易些。我想,因爲有一個標準的機制(SecurityStamp)可以克服這個問題,並且由於這更像是會話驗證代碼(SecurityStamp)處理的session/auth緩存問題,所以它的優先級列表很少。 –

相關問題