IIS имеет страницы по умолчанию для всех кодов ошибок HTTP.Вы можете переопределить их в IIS, чтобы перенаправить на свою страницу.
IIS также распознает тег ASP.NET в файле web.config и сначала использует его, если он доступен, поэтому вам нужно будет настроить собственные ошибкитеги следующим образом:
<customErrors defaultRedirect="defaultError.aspx" mode="On">
<error statusCode="403" redirect="my403page.aspx"/>
</customErrors>
Надеюсь, это то, что вы ищете.Для этого вы также можете использовать проверку подлинности с помощью форм в ASP.NET, она использует куки-файлы, но довольно хорошо работает с описанным вами сценарием, если только вам не нужно, чтобы они были перенаправлены на страницу 403.