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);

Пожалуйста, помогите мне понять, что вызывает проблему. Спасибо.

0 ответов

Другие вопросы по тегам