Фильтры стилей MVC на веб-сервисах ASMX, возможно ли это? - PullRequest
1 голос
/ 02 октября 2009

Можно ли создать атрибуты фильтра стиля MVC (например, Authorize или HandleError), которые работают на веб-сервисах ASMX?

В частности, я выполняю пользовательскую аутентификацию для ряда своих веб-методов и хотел бы обернуть код в Атрибут, который выдает исключение, если проверка аутентификации не удалась.

Rich

Ответы [ 2 ]

2 голосов
/ 02 октября 2009

Поскольку ASMX также являются сервером по конвейеру ASP.NET, вы можете просто использовать HttpModules, которые дают вам большой контроль над входом и выходом.

Вот ссылка и пример: http://msdn.microsoft.com/en-us/library/aa719858(VS.71).aspx

Если вы хотите сделать его очень похожим на MVC, вы должны написать собственный модуль http, который проверяет веб-сервис на наличие таких атрибутов, как [Authorize] и т. Д. Поскольку ASP.NET MVC является открытым исходным кодом, вы можете просто использовать части это как ссылка, как они проверяют атрибуты и т. д., а затем встраивают его в ваш HTTPModule.

НТН Alex

0 голосов
/ 02 октября 2009

Вы можете имитировать некоторые эффекты. Помня, что веб-службы ASMX просто обертывают любой общедоступный метод, вы можете использовать такие вещи, как PrincipalPermissionAttribute для защиты своих служб.

...