Как получить значения текстовых полей логина в модуле HTTP в asp.net 2.0? - PullRequest
0 голосов
/ 03 марта 2011

Я делаю Http-модуль для аутентификации в моем веб-приложении в asp.net 2.0.Когда происходит событие AuthticateRequest, я получаю значения идентификатора пользователя и пароля из текущего запроса.Но каждый раз я получаю ноль в обоих.Мой код здесь

namespace Business.YouBecome
{
    class LoginModuleYouBecome : IHttpModule
    {
        public void Init(HttpApplication httpApplication)
        {
            httpApplication.AuthenticateRequest += new EventHandler(httpApplication_AuthenticateRequest);
           // httpApplication.AuthorizeRequest += new EventHandler(httpApplication_AuthorizeRequest);
        }

 void httpApplication_AuthenticateRequest(object sender, EventArgs e)
        {
            HttpApplication application = (HttpApplication)sender;
            HttpContext context = (HttpContext)application.Context;

            clsLogin login = new clsLogin();
            login.UserName = application.Request["txtuser"];
            login.Password = application.Request["txtpass"];


            //throw new NotImplementedException();
        }
 public void Dispose() { }
    }
}

У меня есть этот класс в проекте библиотеки классов, и я добавил код в web.config.

Пожалуйста, предложите мне, где я делаюнеправильно.Заранее спасибо.

1 Ответ

0 голосов
/ 03 марта 2011

попробуйте так: в вашем обработчике событий вы должны проверить, аутентифицирован ли ваш пользователь, а затем использовать User.Identity для доступа к имени и паролю.

if (User.Identity.IsAuthenticated)
{

  //...
  login.UserName = User.Identity.Name;
  login.Password = User.Identity.Password;

}
...