0

我为登录页面编写了一个 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";
    }
}
4

1 回答 1

0

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

您可以遵循不同的算法:

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

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

于 2013-01-26T12:00:15.657 回答