Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / IPrincipal, WebApi, Mvc и Autofac / 6 сообщений из 6, страница 1 из 1
05.07.2014, 22:56
    #38688725
drugs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IPrincipal, WebApi, Mvc и Autofac
Подскажите пожалуйста, как получить текущий IPrincipal с помощью Autofac? В Mvc это делается с помощью HttpContext.Current.User, но это не работает для WebApi. Нужен универсальный способ получить через инъекцию IPrincipal.
Спасибо.
...
Рейтинг: 0 / 0
05.07.2014, 22:57
    #38688726
drugs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IPrincipal, WebApi, Mvc и Autofac
Не обязательно Autofac, если подкинете пример на другом контейнере, тоже поможет!
Спасибо.
...
Рейтинг: 0 / 0
06.07.2014, 20:35
    #38688956
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IPrincipal, WebApi, Mvc и Autofac
drugs,

Код: c#
1.
2.
3.
builder.Register(c => Thread.CurrentPrincipal)
                .As<IPrincipal>()
                .InstancePerRequest();
...
Рейтинг: 0 / 0
09.07.2014, 19:53
    #38692344
мсущко
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IPrincipal, WebApi, Mvc и Autofac
drugsПодскажите пожалуйста, как получить текущий IPrincipal с помощью Autofac? В Mvc это делается с помощью HttpContext.Current.User, но это не работает для WebApi. Нужен универсальный способ получить через инъекцию IPrincipal.
Спасибо.
Зачем зависимость в вебапи для принципала? http://msdn.microsoft.com/en-us/library/system.web.http.apicontroller.user
Если надо протолкнуть его в не вебапи песочницу, передавай через конструкторы.
...
Рейтинг: 0 / 0
09.07.2014, 20:50
    #38692376
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IPrincipal, WebApi, Mvc и Autofac
мсущкоЗачем зависимость в вебапи для принципала? http://msdn.microsoft.com/en-us/library/system.web.http.apicontroller.user
Если надо протолкнуть его в не вебапи песочницу, передавай через конструкторы.

наверное вот зачем:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class SomeController: ApiController
{
    public SomeController(ISomeService someService)
    {
        ...
    }
}

...

internal class SomeService : ISomeService
{
    public SomeService(IPrincipal principal)
    {
        ...
    }
}



исключить требование знания контроллера, что сервису может потребоваться принципал.

правда интересно, как завязать именно на Claims Based приципал, там всё гораздо интересней.
...
Рейтинг: 0 / 0
11.07.2014, 15:42
    #38694502
мсущко
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IPrincipal, WebApi, Mvc и Autofac
hVostt, ну так это чистой воды эпик фэйл. Зачем контроллеру знать о том, что может понадобиться какому-то инжектированному сервису. Это ответственность того, кто инжектит этот сервис.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / IPrincipal, WebApi, Mvc и Autofac / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]