Как мне зарегистрировать пользовательский аккаунт с MembershipReboot.Owin?

Кто-нибудь сделал пример с несколькими арендаторами с пользовательской учетной записью useraboot.owin?

Мне трудно понять, как настроить промежуточное ПО для членства при использовании пользовательской учетной записи. Это не охватывается примерами по умолчанию. И я думаю, что я не достаточно опытен с фанками Funcs. Любая помощь будет оценена.

Спасибо.

Методы OwinExtention выглядят так:

     public static class MembershipRebootOwinExtensions
     {
        public static void UseMembershipReboot<TAccount>(
        this IAppBuilder app,
        Func<IDictionary<string, object>, UserAccountService<TAccount>>            userAccountServiceFactory,
        Func<IDictionary<string, object>, AuthenticationService<TAccount>> authenticationServiceFactory = null
        )
        where TAccount : UserAccount
        {
            app.Use<MembershipRebootMiddleware<TAccount>>(userAccountServiceFactory, authenticationServiceFactory);
            app.UseMembershipReboot();
        }

    public static void UseMembershipReboot<TAccount>(
        this IAppBuilder app,
        CookieAuthenticationOptions cookieOptions,
        Func<IDictionary<string, object>, UserAccountService<TAccount>> userAccountServiceFactory,
        Func<IDictionary<string, object>, AuthenticationService<TAccount>> authenticationServiceFactory = null
        )
        where TAccount : UserAccount
        {
            app.Use<MembershipRebootMiddleware<TAccount>>(userAccountServiceFactory, authenticationServiceFactory);
            app.UseMembershipReboot(cookieOptions);
        }

Как бы я заполнил эти две функции?

    Func<IDictionary<string, object>, UserAccountService<TAccount>>

а также

    Func<IDictionary<string, object>, AuthenticationService<TAccount>> 

2 ответа

Просто получите текущий контекст owin как

var owin = ctx.Resolve<IOwinContext>();

Затем зарегистрируйте свой пользовательский учетную запись как

var owinAuth = new OwinAuthenticationService<CustomUserAccount>(AuthenticationTypes.Negotiate, ctx.Resolve<UserAccountService<CustomUserAccount>>(), owin.Environment);

Надеюсь, еще не поздно.

Образец пользовательской учетной записи пользователя имеет пример использования обобщений:

https://github.com/brockallen/BrockAllen.MembershipReboot/tree/master/samples/CustomUserAccount

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