Аутентификация и авторизация с помощью ServiceStack.MVC

AuthorizeAttribute бесполезен при использовании ServiceStack.Mvc

AuthenticateAttribute предназначен для объектов DTO.

Нет образца для AccountController с ServiceStack, выход не работает в SocialBootStrapApi.

Где находятся основные образцы входа, выхода и авторизации с помощью ролей с помощью ServiceStack.Mvc? (Не одностраничное приложение, классический Asp.Net Mvc)


person ozz    schedule 28.06.2012    source источник


Ответы (1)


ServiceStack не использует аутентификацию ASP.NET или MVC или что-либо, что на нее полагается, например AccountController MVC, он использует собственный провайдер аутентификации.

AuthenticateAttribute и любые другие атрибуты фильтра запросов и ответов ServiceStack фактически могут использоваться в обоих DTO и Сервис.

Если вы унаследованы от ServiceStackController тогда вы можете использовать фильтры атрибутов ServiceStack в ="n ExecuteServiceStackFilters] действительно выполняется, например

  • [Подтвердить]
  • [RequiredRole]
  • [RequiredPermission]
person mythz    schedule 28.06.2012
comment
Две проблемы: когда я использую атрибут аутентификации в базовом классе, он не работает. URL-адрес входа в систему жестко запрограммирован, как я могу его перезаписать stackoverflow.com/questions/11301790/ - person ozz; 03.07.2012
comment
Ваш базовый класс наследует ServiceStackController? - person mythz; 03.07.2012
comment
XController наследуется от YController (контроллер Y имеет AuthenticateAttribute), YController наследуется от BaseController: ServiceStackController ‹CustomUserSession› - person ozz; 03.07.2012
comment
В итоге. XController: YController (имеет атрибут аутентификации): BaseController: ServiceStackController ‹CustomUserSession› :) - person ozz; 03.07.2012
comment
На XController, BaseController в порядке. Но на YController не работает. - person ozz; 03.07.2012
comment
Извините, это работает только на XController. это не работает для YController и BaseController. Для всех сценариев Executing Action находится в XController. - person ozz; 03.07.2012
comment
В проект SocialBootstrapApi были добавлены как общедоступные, так и защищенные контроллеры, которые демонстрируют правильное поведение при использовании атрибута [Authenticate] ServiceStack. Добавьте запрос на перенос для другого контроллера, который демонстрирует недопустимое поведение. - person mythz; 03.07.2012