最近在做webService接口认证的东东。网上搜了一把,推荐使用SOAPHeader 或 SoapExtensionAttribute来验证合法用户。
1. SOAPHeader
只用soapheader的话没问题,ajax访问,浏览器直接调用都能正常走进验证方法里。
因为验证方法是写在web method里面的,感觉和业务逻辑混合了,不太科学,没有SoapExtensionAttribute 写在ProcessMessage里好。
2.SoapExtensionAttribute
这种方式认证逻辑分离出来,写在ProcessMessage方法里,感觉比较科学。Ajax调用能正常走进验证逻辑里,但是直接用浏览器调用WebService的话,就跳过验证了,直接去调我们的web method了。是哪儿配置不正确导致的吗?请大神赐教。
--------------------------------------------------------------------------
主要代码:
1.SOAPHeader
private LoginHeader _loginHeader = new LoginHeader();
[WebMethod(EnableSession = true)]
[SoapHeader("MyLoginHeader")]
public string HelloA()
{
string validationMsg;
if (!MyLoginHeader.Is