Asp.net SecurityTrimming、自定义角色提供程序和服务器500错误:(
我有一个使用标准asp站点地图和菜单控件的自定义roleprovider。我启用了securitytrimming,当我修改web.config时,菜单项成功消失/重新出现,如下所示:Asp.net SecurityTrimming、自定义角色提供程序和服务器500错误:(,asp.net,web-config,authorization,Asp.net,Web Config,Authorization,我有一个使用标准asp站点地图和菜单控件的自定义roleprovider。我启用了securitytrimming,当我修改web.config时,菜单项成功消失/重新出现,如下所示: <location path="x/y/z.aspx"> <system.web> <authorization> <allow roles="a, b, c" />
<location path="x/y/z.aspx">
<system.web>
<authorization>
<allow roles="a, b, c" />
<deny users="*" />
</authorization>
</system.web>
</location>
但不幸的是,每当我访问这样的页面时,我都会看到非常基本的500内部服务器错误
如果我从配置中删除上述行,则不会发生此类错误,但每个人都可以访问该页面
这可能与我的自定义roleprovider有关吗?它似乎可以与其他所有功能一起工作!我只覆盖了IsUserInRole和GetRolesForUser函数所有其他强制函数我不返回任何内容或空数组等
谢谢
编辑:
我很确定这不是我的自定义角色提供程序导致的错误。我的web.config中有以下内容
<location path="." inheritInChildApplications="false">
我的大部分配置都保存在本节中,其目的是我的所有应用设置、会话状态、身份验证选项等不会继承到其他应用程序中,这些应用程序是在IIS中设置的,但保存在我现在正在处理的应用程序的子文件夹中。可能此“位置”中的某些部分没有被传输即使它们不是子应用程序,也会被复制到其他“位置”…!混淆安全性修剪是否有效…无论如何,通过将上述“位置”的内容移到该部分之外,所有内容都会再次工作!是否有一种方法可以两全其美?关闭浏览器中的友好错误消息以查看真实的issue.我有,错误消息不是自定义的,所以我认为问题可能是特别低级的..或者其他..@Tabloo Quijico-当友好的错误消息关闭时,浏览器中显示的错误消息是什么?500-内部服务器错误。看起来就像我在Internet上找到的这个随机图像..谢谢:我有edited在q中提供了更多信息。我相信这不再是一个角色提供器/修剪问题。不确定是完全重新编辑、发布新问题,还是按原样离开。谢谢大家的帮助。