如何通过Web方法重定向到包含查询字符串的特殊页面

时间:2013-01-26 10:59:25

标签: c# asp.net ajax

我为登录页面编写了一个Web方法函数。当用户成功对服务器进行身份验证时,我想将其重定向到具有指定va的特殊页面

[WebMethod]
public static string loginmtd(string username, string password , string chk)
{
    datatable dt=filltable();//for bring data
    if (dt.Rows.Count==1)
    {
        if (chk == "ok")
        {
            HttpCookie cook = new HttpCookie("userauth");
            cook["user"] = usern;
            cook["pass"] = passw;
            HttpContext.Current.Response.Expires = 60000;
            HttpContext.Current.Response.AppendCookie(cook);         
        }

    HttpContext.Current.Response.Redirect("master.aspx?uid=" + username);       
    return result;     
    }
    else 
    { 
        result = "no";
    }
}

1 个答案:

答案 0 :(得分:0)

对于Web方法,您不要在服务器端执行此操作。这是客户的责任。

您可以使用其他算法:

  • 从客户端调用身份验证方法
    • 获取身份验证令牌并将其用于所有后续请求
  • 调用需要身份验证的Web方法
    • 如果用户没有身份验证令牌,则服务器返回HTTP 401 Not Authorized
    • 如果用户具有正确的令牌,则服务器执行Web请求并返回结果+ HTTP 200 OK

另请查看HTTP状态代码3xx,它们负责客户端可能会或可能不会遵循的重定向。