我想對DNN角色的API調用應用授權。以便DNN本身將執行檢查登錄的用戶是否有權訪問特定的API調用。我有一個解決方案,但不完全是我想要的。 =>How to handle security/authentication on a DNN-based web API。此鏈接建議具有單獨的API授權模塊,以便我們可以將角色分配給此模塊,並且通過在API調用上使用[SupportedModules(「ModuleName」)]屬性,我們可以限制授權。我檢查了這個例子,但沒有運氣...... PLZ建議我以正確的方式來做到這一點。DNN API基於角色的授權
4
A
回答
3
只要您將DnnApiController作爲7.x的一部分使用,您可以簡單地將此屬性添加到任何方法以要求基於角色的授權。
[DnnAuthorize(StaticRoles = "MyRoleNameHere")]
其中「MyRoleNameHere」是用戶必須具有的角色的名稱。
2
我發現這很有用(以及您提到的其他答案)......但是我花了很長時間才明白它!以下是我迄今爲止所瞭解的內容: 如果您使用的是網絡瀏覽器,DNN可以接受您的請求並評估權限(根據您的登錄信息)。鏈接的博客條目使用列出選項卡的API來演示 - 它只顯示您的登錄有權查看的選項卡。如果您從其他位置(例如在PHP腳本中)編寫HTTP請求,則在發送請求發送用戶名/密碼時可以看到相同的行爲。
您可以使用DnnAuthorize屬性,但直接使用角色名稱可能會有問題,因爲您提到的原因 - 如果它們更改會怎麼樣?但是,您可以編寫自己的屬性。基本上,它需要(以某種方式,形狀或形式)TabID和ModuleID。這樣,您可以不用檢查角色名稱,而是讓DNN檢查當前用戶對該模塊的權限。
您可以爲它編寫一個模塊,爲模塊分配基於角色的權限,並讓DNN只檢查給定登錄名的選項卡/模塊。編寫自己的屬性將使您可以輕鬆地在控制器中分配權限,而無需直接指定角色。
我相信鏈接指向DNN 6.2,所以有可能是7
相關問題
- 1. 基於角色的授權
- 2. 基於角色的授權
- 3. 基於角色的jwt授權
- 4. 在mvc3中基於角色的授權
- 5. IdentityServer4基於角色的授權
- 6. Spring基於角色的授權VS ACL?
- 7. 基於角色的業務層授權
- 8. 授權錯誤 - 基於令牌的授權和角色的ASP.NET Web API
- 9. 基於角色/權限的表單授權/認證?
- 10. 授權角色和權限
- 11. 授權角色Spring引導Oauth2〜Restful API
- 12. 基於角度4應用的動態角色和權限授權
- 13. Angular Js中的基於角色的授權
- 14. 基於角色的授權機制的應用GAE
- 15. 基於角色的授權與和的PrincipalPermission SecurityAction.Assert
- 16. 具有額外扭曲的基於角色的授權
- 17. Web應用程序的基於角色的授權系統?
- 18. 基於自定義角色的授權(沒有成員資格)
- 19. 在asp.net中基於角色的授權mvc3
- 20. 使用:attr_accessible與基於角色的授權
- 21. 基於角色的cancan授權不起作用Rails 4 - Ruby 2.1
- 22. 客戶端JWT基於角色的授權
- 23. Angular Js安全問題基於角色的授權
- 24. MVC3 AD JQGrid基於角色的授權編輯鏈接
- 25. 基於動態角色的方法授權
- 26. 基於角色的授權與標準清單
- 27. 基於控件的角色授權配置asp.net
- 28. spring啓動基於OAuth2角色的授權
- 29. 如何在asp.net中實現基於角色的授權mvc3
- 30. 如何在AngularJS中處理基於角色的授權?
一定的差異我很欣賞你的答案,但這種解決方案我可能無法動態地改變角色。防爆。如果我想更改角色或添加新角色來訪問API,那麼我需要通過更新StaticRoles值來更改代碼。 – sachin 2013-05-06 06:25:17
@Mitchel賣家,允許訪問多個角色,只需用逗號分隔? – Lucas 2014-03-07 05:42:28
嘿,對不起,但我怎麼能把多個角色名稱? – Gaspa79 2017-12-29 15:21:28