2011-10-05 109 views
0

我有一个自定义角色提供程序与标准的asp网站地图和菜单控件一起工作,启用了安全性启用,菜单项成功消失/重新出现,因为我修改web.config如下:SecurityTrimming,自定义角色提供者和服务器500错误:(

<location path="x/y/z.aspx"> 
     <system.web> 
      <authorization> 
       <allow roles="a, b, c" /> 
       <deny users="*" /> 
      </authorization> 
     </system.web> 
</location> 

但不幸的是,每当我访问这样一个页面,我表现的十分基本的“500 - 内部服务器错误”

如果我删除从配置上面的纹路,不会发生这样的错误(但每个人都可以访问该页面!)

这可以做我的自定义角色提供者吗?它似乎与其他一切工作!我只重写了IsUserInRole和GetRolesForUser函数(所有其他必需的函数,我什么都不返回或空数组等)。

谢谢! :)

编辑:

我敢肯定这是不是我的自定义roleprovider导致错误..我有在我的web.config别处以下。

<location path="." inheritInChildApplications="false"> 

我的配置的大部分是在本节中举行的想法是,我所有的appSettings,的sessionState,身份验证选项等将不会继承到其他应用程序,在IIS中设置但被子文件夹中举行我现在正在开发的应用程序。也许这个'位置'内部有些部分没有被转移到其他“位置”(尽管它们不是儿童应用程序..!),令人困惑的是securityTrimming确实有效......无论如何,移动内容在该部分之外的上述“位置”,一切都再次起作用!有两种世界的最好方法吗?

+0

我编辑了更多的信息.​​.我相信它不再是一个特别的角色提供者/修剪问题..不知道是否要完全重新编辑,发布一个新问题,或保持现状。感谢所有的帮助。 –

回答

0

关闭浏览器中的友好错误消息以查看实际问题。

+0

我有,错误信息不是一个自定义的,所以我想也许这个问题是特别低级..或什么的..! –

+0

@Tabloo Quijico - 关闭友好错误消息时,浏览器中显示的错误消息是什么? – DaveB

+0

500 - 内部服务器错误。看起来就像这个随机图像,我在互联网上找到.. http://www.ecommy.com/wp-content/uploads/2009/08/500-Internal-server-error2.png谢谢:) –

相关问题