我想对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