2011-10-19 29 views
0

我创建了网站库。我使用从客户端向服务器的Web服务这样的Ajax请求:单用户网站的ASP.NET验证

var executeService = function(params, url, callbackSuccess, callbackError, isCache) { 
    $.ajax({ 
      type: "POST", 
      url: url, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      data: params, 
      success: callbackSuccess, 
      error: callbackError, 
      cache: isCache 
     }); 
}; 

这:

[WebMethod] 
public string GetImagesByCategory() 
{ 
    var imageList = new List<JSONGallery>(); 
    //... 
    return imageList.ToJSON(); 
} 

我想开发管理页面。在这个页面上,我想管理网站的内容。只有一个用户可以访问此页面和管理Web服务的方法(添加,删除等)。哪种类型的认证对我来说是首选?

我会使用Forms身份验证,但是如何控制对Web服务的访问?

谢谢。

回答

1

如果您仅限访问经过身份验证的用户(并且服务显然位于同一站点上),则您可以仅使用表单身份验证。您可以在web.config设置这样的:只有

<authentication mode="Forms"> 
    <forms loginUrl="~/login.aspx" protection="All" timeout="2880" /> 
</authentication> 
<authorization> 
    <deny users="?" /> 
</authorization> 

这样谁已登录将要运行该服务权限的用户。

如果您有其他要访问的页面/目录,则可以添加授权规则以允许对这些元素进行开放访问,例如CSS文件或图像。

<location path="assets"> 
    <system.web> 
    <authorization> 
     <allow users="*" /> 
    </authorization> 
    </system.web> 
</location> 
+0

谢谢,它似乎是正确的方式。但我还没有测试过对web服务的访问权限。 – Lynx

+0

它的工作原理,谢谢。 – Lynx

0

您可以对管理网页使用表单身份验证,对Web服务使用基本身份验证,则可以通过IIS启用Web服务的基本身份验证。