我想对 DNN 角色的 API 调用应用授权。这样 DNN 本身就会检查登录的用户是否有权访问特定的 API 调用。我得到了一种解决方案,但不完全是我想要的。=>如何在基于 DNN 的 Web API 上处理安全/身份验证。此链接建议使用单独的模块进行 API 授权,以便我们可以为该模块分配角色,并通过在 API 调用上使用 [SupportedModules("ModuleName")] 属性来限制授权。我检查了这个例子,但没有运气......请建议我正确的方法来做到这一点。
我们按照dot net nuke site中安装指南中给出的每个步骤进行操作DotNetNuke_Community_07.00.02.我们在虚拟机上有数据库服务器,我们使用SQL服务器身份验证.
1)当我们点击主页上的编辑页面时,它会重定向到主页,没有任何反应.2)当我们检查镀铬控制台时,它会显示
POST http://dnndev.me/DesktopModules/internalservices/API/controlbar/ToggleUserMode 401(未经授权)
请有人告诉我我错了什么?先感谢您.
编辑
克里斯,我们安装了更多,我们删除了它,并按照你上面给出的那样设置它,但没有运气.尝试重新安装aspnet_regiis -i,但仍然没有运气.
可以肯定的是,身份验证是个问题.请注意,该计算机是Windows 7计算机并且位于域中.
我们还仔细检查了应用程序池使用应用程序池标识而不是LOCALSERVICE等.我们在另一台计算机上使用SQL Server,此时它使用sa帐户,这绝对是强大的.
请参阅Failed Trace中的以下摘录.我还抛弃了警告之前的痕迹.
ModuleName ManagedPipelineHandler
Notification 128
HttpStatus 401
HttpReason Unauthorized
HttpSubStatus 0
ErrorCode 0
ConfigExceptionInfo
Notification EXECUTE_REQUEST_HANDLER
ErrorCode The operation completed successfully. (0x0)
35. AspNetPipelineEnter Data1="DotNetNuke.HttpModules.Services.ServicesModule" 10:14:06.910
36. AspNetPipelineLeave Data1="DotNetNuke.HttpModules.Services.ServicesModule" 10:14:06.910
37. NOTIFY_MODULE_END ModuleName="Services", Notification="BEGIN_REQUEST", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE" 10:14:06.910
38. NOTIFY_MODULE_START ModuleName="IsapiFilterModule", Notification="AUTHENTICATE_REQUEST", fIsPostNotification="false" 10:14:06.910
39. NOTIFY_MODULE_END ModuleName="IsapiFilterModule",Notification="AUTHENTICATE_REQUEST",fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_CONTINUE" 10:14:06.910
40. NOTIFY_MODULE_START ModuleName="BasicAuthenticationModule",Notification="AUTHENTICATE_REQUEST",fIsPostNotification="false" 10:14:06.910 i AUTH_START AuthTypeSupported="Basic" 10:14:06.910
1. i AUTH_END …Run Code Online (Sandbox Code Playgroud)