Настраиваемая аутентификация на уровне URL, используйте ISAPI с .NET или есть новый способ?

Asked
Viewd927

1

Есть ли способ аутентификации пользователей без использования IIS, кроме HTML?

Я знаю, что могу создать свой собственный фильтр ISAPI для IIS, но я хочу добиться того же, используя код .NET, а не интегрировать его с IIS.

Есть ли способ сделать это сейчас, используя последнюю версию .NET, или ISAPI все еще подходит?

2 ответов

1

Если вы хотите применить пользовательскую аутентификацию для всего содержимого, для IIS 5/6/7 требуется расширение ISAPI.

Способ Грега работает только для содержимого ASP.NET в IIS 5/6. Однако, если вы хорошо понимаете функцию интегрированного конвейера IIS 7, вы можете настроить HTTP-модуль ASP.NET, такой как модуль Грега, для применения ко всему содержимому.

MSDN и IIS.net могут предоставить мне более подробную информацию, если вы продолжите поиск.

0

Можно использовать IHttpModule для такого рода вещи, например

 public class AuthModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.AuthenticateRequest += OnAuthenticateRequest;
        context.AuthorizeRequest += OnAuthorizeRequest;
    }

    private static void OnAuthenticateRequest(object sender, EventArgs e)
    {
        // authenticate the user here...
        // (note that the sender argument is an HttpApplication instance)
    }

    private static void OnAuthorizeRequest(object sender, EventArgs e)
    {
        // ...then authorize their attempted action here, if needed
    }
}
 
  • Why the down-vote? This is the way to do it with .NET; particularly with IIS7. If you’re down-voting, please leave a comment as to why, and what you believe the ‘correct’ method is.

    Greg Beech08 февраля 2009, 23:36
  • OK, I wanted to roll it back, but seems that I could not make any change now.

    Lex Li05 июня 2009, 23:33