我创建了网站库。我使用从客户端到服务器的web服务的ajax请求,如下所示:
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服务的访问?
感谢。
答案 0 :(得分: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>
答案 1 :(得分:0)
您可以使用管理网页的表单身份验证和Web服务的基本身份验证,您可以通过IIS在Web服务上启用基本身份验证。