您可以尝试allow
在元素之后为所有经过身份验证/登录的用户添加deny
元素:
<location path="ReportViewerWebForm.aspx">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
或者试试这个例子:
<configuration>
<system.web>
<!-- authentication element -->
<authorization>
<deny users="?" />
</authorization>
</system.web>
<location path="ReportViewerWebForm.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
这 ”?” 属于未经身份验证/匿名的用户(未登录),“*”属于其他所有人。第一个匹配的授权规则总是首先处理,从上到下的顺序。
如果您想通过只允许某些角色打开它来限制对报表查看器页面的访问,请使用如下示例所示的授权模式(提及所有允许的角色,以逗号分隔):
<location path="ReportViewerWebForm.aspx">
<system.web>
<authorization>
<allow roles="rolename_1,rolename_2,..." />
<deny users="*" />
</authorization>
</system.web>
</location>
注意:authentication
在使用授权规则之前,请确保您已经拥有元素:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" ... />
</authentication>
参考:
允许元素进行授权(ASP.NET 设置架构)
用于授权的拒绝元素(ASP.NET 设置架构)
在 web.config 中为特定页面或文件夹设置授权规则
类似问题:
授权拒绝访问文件夹下的页面不起作用
拒绝匿名用户问题