【发布时间】:2012-07-20 18:48:12
【问题描述】:
当未经授权的用户访问管理员页面时,我试图将他们重定向到自定义页面,但我遇到了错误..
管理员文件夹的Web.Config
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Administrators" />
<deny users="*"/>
</authorization>
</system.web>
</configuration>
登录页面代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.IsAuthenticated && !string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
Response.Redirect("~/ErrorUNTH.aspx");
}
}
以普通用户身份登录并访问管理员页面后的错误:
Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
【问题讨论】:
-
您收到一般错误消息。关闭自定义错误
并将正确的错误消息附加到您的帖子中。 -
我们无法猜测错误,您需要禁用自定义错误。在
<system.web>下添加这个配置<customErrors mode="RemoteOnly" />,让我们知道具体的错误。允许调试<compilation debug="false">也是一个好主意 -
我这样做了,我得到了同样的错误