Das verwirrt mich irgendwie. Ich würde annehmen, dass die Webmethode den gleichen Autorisierungsregeln folgt, die in der web.config als die Seite festgelegt sind, auf der es sich befindet. Führt es zuerst den normalen Seitenlebenszyklus aus? In meinem Fall gibt es zusätzliche Logik in einer Basepage, die weitere Berechtigungen prüft. Wird diese Logik ausgeführt, bevor das Webmetod aufgerufen wird, um den Zugriff von Benutzern zu verhindern, die nicht auf diese Seite zugreifen dürfen?
Eine Webmethode muss statisch sein und nicht dem normalen ASP.NET-Lebenszyklus folgen.
In einer Webmethode können Sie nicht auf die Sitzung oder die Steuerelemente auf der Seite zugreifen.
Da es nicht alle Ereignisse durchlaufen wird, glaube ich nicht, dass Ihr PreInit aufgerufen wird, so dass Sie den Zugriff nicht durch diesen einschränken können.
Unterm Strich ist eine Web-Methode viel weniger sicher als die traditionelle asmx-Web-Methode. Auch wenn Sie die Methode hängen von /default.aspx/MyWebMethod haben, wird es keine der integrierten Formen Sicherheit übernehmen und kann von überall in Ihrer Anwendung aufgerufen werden.