Если вы разрешите IIS выполнять проверку подлинности, IIS выполнит проверку по своему собственному хранилищу учетных данных (локальному или Active Directory) и просто сообщит, является ли пользователь аутентификацией и его именем пользователя, а не паролем.
Если вы хотите внедрить базовую аутентификацию с любыми другими учетными данными (например, паролем (хешами) в пользовательской базе данных), в IIS6 вам придется отключить базовую аутентификацию в IIS, разрешить анонимный доступ и внедрить e. г. ваш собственный HttpHandler для аутентификации, который может возвращать коды состояния 403 и 401 при необходимости.
В IIS7 вы можете реализовать пользовательский модуль аутентификации и настроить его из консоли IIS7.
В обоих случаях этот проект может быть хорошим началом: http://www.codeplex.com/CustomBasicAuth