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 に答える