是否可以创建适用于ASMX Web服务的MVC样式过滤器属性(如Authorize或HandleError)?
具体来说,我在许多Web方法上执行自定义身份验证,并且如果身份验证检查失败,我希望将代码包装到抛出异常的Attribute中。
富
答案 0 :(得分:2)
由于ASMX也是ASP.NET管道的服务器,你可以使用HttpModules,它可以让你对进出方式有很多控制。
这是一个参考和一个例子: http://msdn.microsoft.com/en-us/library/aa719858(VS.71).aspx
如果你想使它非常像“MVC”那么你会编写一个自定义的http模块来检查web服务的属性,如[Authorize]等。由于ASP.NET MVC是开源的,你可能只是使用部分作为参考,他们如何检查属性等,然后将其构建到您的HTTPModule中。
HTH 亚历
答案 1 :(得分:0)
你可以模仿一些效果。记住ASMX Web服务只包装任何公共方法,您可以使用PrincipalPermissionAttribute
之类的东西来保护您的服务。