【发布时间】:2016-04-04 12:47:21
【问题描述】:
我使用 MVC(基于来自 nuget 的 Christoc.com DNN 8 MVC 模块模板)创建了一个简单的 DNN 模块,并带有一个自定义的 ControlKey。此自定义 ControlKey 的目的是调用特定的 MVC Action。对于这个例子,我将把这个 ControlKey 称为“DoIt”。
所以,我在 .dnn 文件中定义了 ControlKey:
<moduleControl>
<controlKey>DoIt</controlKey>
<controlSrc>MyApp.Modules.TestModule.Controllers/DoIt/DoIt.mvc</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle>DoIt</controlTitle>
<controlType>View</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
<supportsPopUps>True</supportsPopUps>
</moduleControl>
模块的视图只包含一个指向自定义 ControlKey 的链接,使用 NavigateURL 格式化,如下所示:
http://dnndev.me/TestPage/tabid/89/ctl/DoIt//mid/450/Default.aspx
当作为超级用户帐户登录时,此链接可以正常工作并正确执行 DoIt 操作。 但是,当以非超级用户帐户登录时,即使以管理员身份登录,我也会收到拒绝访问消息。
我尝试调整模块和页面权限(从页面继承或在模块本身),但我无法使用非超级用户帐户进行调整。
我错过了什么?我是否需要在某处设置此自定义 ControlKey 的权限? 有没有办法找出缺少的权限?
【问题讨论】:
标签: dotnetnuke