我有使用表单身份验证的应用程序。它在根网站配置文件中有拒绝标记。
<authorization>
<deny users="?" />
</authorization>
应用程序文件结构有CSS和JS文件夹。现在,当我尝试访问CSS和JS文件夹(https://domainname/CSS
)时,它会将我重定向到登录页面。这可确保站点中存在目录。我希望在这种情况下显示自定义错误页面。
此外,当我尝试访问https://domainname/bin
网址时,它会将我重定向到HTTP 404错误。
如何在两种情况下显示相同的自定义错误页面?
答案 0 :(得分:0)
如果您使用了表单身份验证,则任何未经授权的请求都将重定向到您在loginUrl
表单身份验证中指定的页面
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
但对于404或500或其他任何错误页面,您可以将页面配置为在发生错误时显示。将此添加到web.config以配置错误页面
<customErrors defaultRedirect="Error.aspx">
<error statusCode="404" redirect="404.aspx"/>
<error statusCode="500" redirect="500.aspx"/>
</customErrors>
答案 1 :(得分:0)
您可以在Global.asax.cs
中的某个应用程序事件中捕获未经授权的请求protected void Application_AuthenticateRequest(Object sender,
EventArgs e)
{
string url = HttpContext.Current.Request.Url.AbsoluteUri;
if (!Request.IsAuthenticated || url.Contains("Check Your URL Here"))
Response.Redirect("AccessDenied.aspx");
}