ServiceStack. Базовая аутентификация. Сервисный метод не всегда проверяет аутентификацию
У меня есть метод обслуживания, который помечен атрибутом [Authenticate] и принимает только запросы GET. Я использую встроенную базовую аутентификацию ServiceStack.Net. У меня также есть два консольных приложения, которые вызывают сервисный метод. Первое приложение отправляет имя пользователя и пароль. Второе приложение НЕ отправляет имя пользователя и пароль. Оба приложения не отправляют файлы cookie (ss-id, ss-pid).
Вот пример запроса:
Accept: application/json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Host: local.dev
Content-Length: 25
Connection: Keep-Alive
{"Email":"user@test.org"}
Моя проблема: если я сначала запускаю первое приложение, а затем второе. Второе приложение извлекает те же данные, что и первое, но я ожидаю, что в ответ будет "Неавторизовано".
//AppHost.cs
var cacheClient = new MemoryCacheClient();
Container.Register<ICacheClient>(cacheClient);
var authUserSession = new AuthUserSession();
var authProviders = new IAuthProvider[] { new BasicAuthProvider() };
var authFeature = new AuthFeature(() => authUserSession, authProviders);
authFeature.IncludeAssignRoleServices = false;
Plugins.Add(authFeature);
var userRepository = new InMemoryAuthRepository();
Container.Register<IUserAuthRepository>(userRepository);
//internal method which finally creates a user and puts it to the repository
//using method repository.CreateUserAuth(userAuth, password);
AddUserToRepository();
//Consumers
var client = new JsonServiceClient("http://local.dev");
//the following two lines are commented out in the second application
client.UserName = "admin";
client.Password = "pass123";
var data = new { Email= "user@test.org" };
var response = client.Get<object>("/Test", data);
Пожалуйста, помогите мне понять, что вызывает проблему. Спасибо.