【问题标题】:SecurityTrimming, Custom RoleProvider and server 500 error :(SecurityTrimming、自定义 RoleProvider 和服务器 500 错误:(
【发布时间】:2011-10-05 18:43:04
【问题描述】:

我有一个自定义角色提供程序,它使用标准的 asp 站点地图和菜单控件。我启用了 securitytrimming,并且当我修改 web.config 时,菜单项成功消失/重新出现:

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

但不幸的是,每当我访问这样的页面时,我都会看到非常基本的“500 - 内部服务器错误”。

如果我从配置中删除上述行,则不会发生此类错误(但每个人都可以访问该页面!)

这可能与我的自定义角色提供者有关吗?它似乎适用于其他一切!我只覆盖了 IsUserInRole 和 GetRolesForUser 函数(所有其他强制函数我什么都不返回或空数组等)。

谢谢! :)

编辑:

我很确定这不是我的自定义角色提供程序导致错误。我的 web.config 中确实有以下内容。

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

我的大部分配置都保存在本节中,其想法是我的所有 appSettings、sessionState、身份验证选项等都不会被继承到其他应用程序中,这些应用程序在 IIS 中设置,但保存在我的应用程序的子文件夹中正在努力。也许这个“位置”内部的某些部分没有被转移到其他“位置”(即使它们不是子应用程序......!)混淆 securityTrimming 确实有效......无论如何通过移动内容该部分之外的上述“位置”,一切正常!有没有两全其美的方法?

【问题讨论】:

  • 我已经用更多信息编辑了 q。我相信它不再是一个角色提供者/修剪问题。不确定是完全重新编辑、发布新问题还是离开按原样.. 谢谢大家的帮助。

标签: asp.net web-config authorization


【解决方案1】:

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

【讨论】:

  • 我有,错误消息不是自定义错误消息,所以我认为问题可能是特别低级的..或其他什么..!
  • @Tabloo Quijico - 关闭友好错误消息时,浏览器中显示的错误消息是什么?
  • 500 - 内部服务器错误。看起来就像我在互联网上找到的这张随机图片.. ecommy.com/wp-content/uploads/2009/08/… 谢谢 :)
猜你喜欢
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 2023-03-29
  • 2020-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多