在我们的WebApplication中,我们有很多[WebMethod]调用。出于安全考虑,我们要检查其是否为登录用户(使用会话)。如何在不在所有WebMethods
内编写代码的情况下检查它?
例如
[WebMethod]
public static bool WebMethodCall()
{// check if its a logged in user or not before executing the webmethod
return true;
}
答案 0 :(得分:0)
我通过例子给你这个答案 我有webservice名为common.cs 现在
public class Common : System.Web.Services.WebService
{
public Common ()
{
//here you can check your session so when ever your
webmethod will be executed this code will call first then your webmethod
}
//this webmethod will be executed after common
[WebMethod]
public static bool WebMethodCall()
{// check if its a logged in user or not before executing the webmethod
return true;
}
[WebMethod]
public static bool WebMethodCall1()
{// check if its a logged in user or not before executing the webmethod
return true;
}
}
所以解释将是这样的 你有一个名为普通的公共类和两个webmethod webmethodcall 和 webmethodcall1 在常见中添加常用代码 我希望这会帮助你... ...)
答案 1 :(得分:0)
我的第一个想法是使用自定义的httpModule。但是,进一步的读数表明使用SoapExtensions可以解决问题。见例子: http://www.hanselman.com/blog/ASMXSoapExtensionToStripOutWhitespaceAndNewLines.aspx