2017-05-04 44 views
1

有沒有辦法在運行時改變角色。 https://channel9.msdn.com/Series/Customizing-ASPNET-Authentication-with-Identity/02他在32:43詢問asp.net web api授權框架有沒有辦法在運行時動態改變角色

+0

舉例如果您正在度假,但您想授權您的助理助理批准系統中的某些提議。 您認爲這是將您的帳戶信息提供給助理助理的最佳方式嗎? 我有一個想法,就像這種情況下每個控制器的角色改變角色dynamicaly。 例如, aproval方法的Aproval作用。 發送提案的提案角色。 我想我可以添加或刪除這些角色dynamicaly 但這對用戶來說是一個漫長的過程。 我不喜歡添加個人角色。我想學習如何去做。 – Kagan

回答

0

雖然有一個有趣的問題,我不知道我什麼時候會想用這個。

我想指出的一點是:要確定用戶的角色,將使用令牌中添加的聲明。所以不會有數據庫調用。如果您想要動態執行某些操作,則可能需要爲實際角色調用數據庫。

使用[授權]屬性,您將無法動態執行任何操作。它只是將字符串與索賠進行比較。如果它匹配訪問被授予,否則訪問被拒絕。解決此問題的一種方法是爲所有授權用戶授予訪問權[授權],並在代碼中測試User.IsInRole(x)。

其他選項可能是編寫自己的AuthorizeAttribute或添加AuthorizationFilterAttribute。

相關問題