Невозможно запустить WCAT против DotNetNuke с проверкой подлинности NTLM
У меня есть настройка файла ubr для стресс-тестирования внутреннего сайта DotNetNuke с помощью WCAT:
transaction
{
id = "Intranet Home Page";
weight = 1000;
cookies{clear = true;}
sleep{delay = rand("1","500");}
request
{
url = "/";
statuscode = 401;
}
request
{
url = "/";
authentication = ntlm;
username = "mydomain\\accountname";
password = "password";
statuscode = 200;
}
close{ method = reset;}
}
При запуске этого (wcat.wsf -run -clients localhost -s myserver -t test.ubr -f settings.ubr -x) я просто получаю много ошибок 500 с:
2010-03-08 10:29:31 192.168.11.239 GET / - 80 - 192.168.52.139 - 401 2 2148074254
2010-03-08 10:29:31 192.168.11.239 GET / - 80 - 192.168.52.139 - 401 1 0
2010-03-08 10:29:31 192.168.11.239 GET /Default.aspx - 80 mydomain\myaccount 192.168.52.139 - 500 0 0
DNN сообщает об этих ошибках как:
AssemblyVersion: 5.2.3
PortalID: 0
PortalName: Моя компания
ИД пользователя: -1
UserName:
ActiveTabID: 39
ActiveTabName: Главная
RawURL: /Default.aspx
AbsoluteURL: /Default.aspx
AbsoluteURLReferrer:
UserAgent:
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProviderExceptionGUID: 28d8821f-1ef2-41db-8a65-d33e97a69130
InnerException:необработанная ошибка:
Имя файла:
FileLineNumber: 0
FileColumnNumber: 0
Метод: DotNetNuke.Authentication.ActiveDirectory.HttpModules.AuthenticationModule.OnAuthenticateRequest StackTrace:
Сообщение: System.Exception: необработанная ошибка:
---> System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта. в DotNetNuke.Authentication.ActiveDirectory.HttpModules.AuthenticationModule.OnAuthenticateRequest(Object s, EventArgs e) в System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecute()
System.Web.HttpApplication.ExecuteStep(шаг IExecutionStep, булево и завершено синхронно) --- конец трассировки стека внутренних исключений ---
Источник:
Имя сервера: MYSERVER
Кажется, что-то теряет имя пользователя.
1 ответ
Это было связано с тем, что я использовал модуль DNN Windows Authentication. Похоже, что он перенаправляет на страницу аутентификации, устанавливает cookie, а затем перенаправляет обратно. WCAT не мог справиться с этим по некоторым причинам. Я закончил тем, что использовал WAST.