2017-05-01 6 views
0

私たちは、ローカルドメイン上にホストされている一般公開のウェブサーバーを持っています。私はドメイン資格情報を使用して.net Webサービスを認証しようとしています。私はかなりの変種を成功させずに試しました。ajaxと.netサービスで「セッション」を維持していますか?

ウェブサービスを作成した人は、init.aspxを提供しています。そのURLに最初にGETを入力すると、ログインして成功するよう促されます。しかし、私がhttp://website.net/cms/api/content/SetContentSectionByIdへの投稿を行うと、私はまだ401 (Unauthorized)が得られます。

「セッション」またはログイン情報をPOSTのサーバーに戻す方法はありますか?

答えて

1

サーバ側で一意のaccess tokenまたはu_idを生成し、ログイン認証情報が有効な場合にはそれをajaxに戻す必要があります。

は、その後、あなたがこのようなユーザーでログインして検証するAuthorizationとしてAjax Headerを使用することができます認証が成功した後:

$.ajax({ 
    url: "http://website.net/cms/api/content/SetContentSectionById", 
    beforeSend: function(xhr, settings) { 
     xhr.setRequestHeader('Authorization', access_token); 
    }, 
    success: function(data, status) { 
    return console.log("The returned data", data); 
    } 
}); 
+0

我々は一種のこのトラックにすでにあったが、我々だけでデータの一部としてトークンを送信しています。これはお勧めできませんか?また、.net web apiのセッション処理は、デフォルトで明らかにオフになっています。 –

+0

また、彼は実際のセッションGUIDを送信しています、これは大丈夫ですか? –

+0

ああ、はい、そのGUIDを認可で使用することができますか、サーバー上でサーバー上の承認をどのように処理しているかをサーバーに問い合わせる必要がありますか?もし彼がpostメソッドを使っているのであれば、 'data:{GUID:GUID}'で送ることができます –

関連する問題