Avatar of us1975mc
us1975mc
Flag for United States of America asked on

Getting an Error page to work with a 401.2 error

I have a website set up that has a web.config in the root directory.  There are also 3 sub directories that each have a web.config that is used for permissions. My problem is that when I try to get the custom errors to work.  I have the following code in the root level web.config.
<system.web>
    <customErrors mode="On" defaultRedirect="Error.htm" />
    <authentication mode="Windows"/>
    <authorization>
      <deny users="?" />
    </authorization>

Open in new window


I have the following code in one of the sub directories:
<?xml version="1.0"?>
<configuration>
  <system.web>
    <authorization>
      <allow users="ADS\Smith"/>
      <allow users="ADS\Jones"/>
      <deny users="*"/>
    </authorization>
    <customErrors mode="On" defaultRedirect="Error.htm">
      <error statusCode="401" redirect="Admin401.htm" />
    </customErrors>
  </system.web>
</configuration>

Open in new window


 When I receive a general error the Error.htm page works as it should.  What I am trying to get to work is the 401.2 error page. In the subfolder the web.config looks like this:
My 401 error
How do I get the 401.2 error to use my Admin401.htm?
ASP.NETVisual Basic.NET.NET Programming

Avatar of undefined
Last Comment
Paul MacDonald

8/22/2022 - Mon
us1975mc

ASKER
Forgot to mention that just before I get the 401 error I get the Windows Logon:
Windows Security Logon
Paul MacDonald

One answer is here:
http://weblogs.asp.net/gurusarkar/archive/2010/01/12/redirect-unauthorized-users-to-access-denied-page-instead-of-login-page.aspx

Another way to do this is to go into the properties for the site in IIS, and on the Custom Errors tab, change which page is displayed for the 401.2 error.
us1975mc

ASKER
paulmacd,
I tried both with no success.  When I entered the code:
 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            If Request.IsAuthenticated AndAlso Not String.IsNullOrEmpty(Request.QueryString("ReturnUrl")) Then
                Response.Redirect("~/TechError.aspx")
            End If
        End If
    End Sub

Open in new window

It does not seem to even see this.  I get the same Sign In:
Sign Inand then I get the same error:
Error 401When I went to the server administrators and they placed the error page on the property for the site in the IIS I received the following error:
Page Error
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
ASKER CERTIFIED SOLUTION
Paul MacDonald

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
us1975mc

ASKER
Thanks paulmacd,

It took a little while but it finally came through.

Thanks!!!
Paul MacDonald

Happy to help.