Я создал базовый класс "page", который обрабатывает подобные вещи. После этого все мои страницы могут быть украшены атрибутом requireLogin, если для их просмотра требуется логин. Если атрибут отсутствует, страница доступна для всех.
Пример:
<RequiresLogin()> _
<RequiresPermission("process")> _
Partial Class DesignReviewEditProgressPage
Inherits MyPage 'which inherits System.Web.UI.Page and deal with logins itself
...
End Class
Класс MyPage проверяет, какие атрибуты помечены для него, и, если требуется RequLogin, он перенаправляет вас на страницу входа.
Я полагаю, что это может быть адаптировано к вашей собственной проблеме.