2017-02-17 1 views
4

Вот мой аутентификации конфигурацииПочему IManageApiKeys не разрешен с помощью ServiceStack ApiKeyAuthProvider?

Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { 
    new ApiKeyAuthProvider(AppSettings) { RequireSecureConnection = false, InitSchema = true}, 
    new CredentialsAuthProvider(AppSettings) 
    }) 
    { 
     IncludeRegistrationService = true, 

    }); 
container.Register<IAuthRepository>(c => new OrmLiteAuthRepository(dbFactory)); 
    container.Resolve<IAuthRepository>().InitSchema(); 

Когда я пытаюсь разрешить зависимость IManageApiKeys в обслуживании он бросает исключение Невозможно привести объект типа «ServiceStack.Auth.OrmLiteAuthRepository» к типу «ServiceStack.Auth. IManageApiKeys

var apiRepo = (IManageApiKeys)base.TryResolve<IAuthRepository>(); 

Я не может понять, как решить зависимость IManageApiKeys и не создает ApiKey таблицы через InitSchema() однако USERAUTH, UserAuthDetails и UserAuthRo le создаются.

+0

Я использую ServiceStack версии 4.0.60 – Anuj

ответ

2

OrmLiteAuthRepository does implement IManageApiKeys поэтому я предполагаю, что ваш OrmLiteAuthRepository это в ServiceStack.Server NuGet пакета не совпадает с версией ServiceStack пакет NuGet.

Проверьте папку /packages и убедитесь, что каждая зависимость ServiceStack ссылается на тот же номер версии, если разные версии обновляют каждый проект, поэтому все они ссылаются на одну и ту же версию.

+1

Спасибо @mythz, он решил мою проблему. – Anuj

Смежные вопросы