質問

の開発をしている新しい実験のウェブアプリケーションフレームワーク、定することを決定しましたXmlである。私は、基礎のような肌触りとしていても良い理解の安として、コンセプト。

がんシステムの実用Urlを厳密に定義'名詞'のシステムとの動詞からのHTTPリクエストす。私はjavascriptを使用ajax電話へのアクセス手段を提供するものの削除、方法をHTML形式です。(これらを実現するための措置な厳しく求められるゆったですが、満足のな統一的なインターフェース'必須).

の問題が状態なしでらしさとcacheabilityと認証を行います。標準モデルのためのユーザ認証のウェブサイトにはログイン認証イベント、合成)ユーザは"inside the wall"の持続性確保のセッションが見えるものその後のご要望ある未認証ユーザーがあります。この続認証のように休憩でゆった判断します。)キャッシュおよび無国籍者が壊れたので、認証されたユーザの見HTMLとは異なることを非認証済みユーザーの要求のためのインスタンスになる可能性がありログインフォームサイドバーにログアウトしたユーザ)。

Wwwを利用した-認証戦略を認証するためのユーザーの要求を必要とする認証できるようにするという正しい方向に一歩前進しているの概念が持続的に確保す。しかしまだどのように働かせるかという描き、"ログイン"の外観、エンドユーザーといってもます。

このように考えて、何に適した方法で認証を、permissioningのウェブページを厳重にゆった方を可能にするためのログインの装飾、HTML?

役に立ちましたか?

解決

  認証の

このパーシステンス   RESTfulなネスを破るようです。

代わりに、ユーザーを認証する

は、セッションの作成について考えることがあります。あなたは適切なHTTPステータスコード(:OK、403:200禁止、など)と一緒に、新しい "セッションID" を返却されます。

  

ユーザーは、おそらくあるHTMLが表示されます   異なるからそれました   非認証されたユーザのために表示されます   同じリクエスト

あなたはRESTサーバーを尋ねるされます:「あなたは私にこのセッションIDのためのHTML(または任意のリソース)を得ることができますか?」。 HTMLは、「セッションID」に基づいて異なるだろう。

この方法では、「永続的な安全なセッション」には壁がありません。あなたは、単にセッションに作用しています。

あなたがこの方法を選ぶ場合は、

名詞(またはリソース)は、実際のセッションを表すことになります。

他のヒント

"標準モデルのためのユーザ認証のウェブサイトにはログイン認証イベント、合成)ユーザは"inside the wall"の持続性確保のセッション"

  1. このようになっています。でもtrueになるwebサイト自らの手認証を行います。

  2. ご利用の場合"ダイジェスト認証"は、ブラウザに送付しなければなら、資格れます。

ダイジェスト認証--格付の申請ごとには全くゆった.

います。

も少し効率化できる計算のダイジェスト認証Nonceのた加減演算を使用して計算を行うのは良いの一部期間(6分、0.1人材です。皆さんの数分の要求を送信す401状と必要とrecomputationのダイジェスト

ユーザー固有の要素を持つページのための仲介でキャッシュ可能性を維持するために1つのオプションは、Ajaxを介して、ユーザ固有のマークアップを追加することです。あなたは、ユーザーのログインに基づいて別の何かを返すリソースへのXHRリクエストを行いますいくつかのJavaScriptを含め、同じページを使用するすべてのサービスを提供します。あなたは、クライアント側のページにこれをマージします。それはすべてのユーザーに対して同じだとして、ページの大部分は、キャッシュ可能になります。

別のオプションは、ESI(エッジサイドインクルード)を使用することです。これらを使用すると、キャッシュ自体は、最終的な結果を構築するために、異なる表現をマージすることができます。

私はこのようにそれについて考える:ユーザー認証で「名詞」セッションです。だからあなたのログインフォームは、新しいセッションを「作成」するためにPOSTリクエストを使用し、ログアウトすると、セッションを「削除」するDELETE要求を使用します。

私はあなたが休息に逆行して、認証の持続性について、何を意味するか知っているが、(持続性の錯覚を与える)クッキーは、単純に各要求の一部です。

「認証のこの持続性はRESTfulなネスを破るようだ。認証されたユーザーは、おそらく非認証されたユーザーが同じ要求のために表示されますこと、そこから異なるHTMLが表示されますので、キャッシングと無国籍者は、壊れているように見えます」

リソースの表現は、認証情報に基づいてわずかに異なっている場合は、

これはokです。認証情報は、メッセージの一部であり、したがって、メッセージは、まだ「自己記述」です。概念的には、あなたはまだ同じリソースへのアクセス、編集、およびリンクがトランジションではなく、データの追加枚許可されて削除されています。遷移は、リソースにアクセスする人に基づいて利用可能であるかを制御することは私には有効なようです。

日時:ダニエルの答えます:

セッションはすぐに削除される一時オブジェクトである場合は、

、これはあなたが作成したキャッシュだけ多分一日の有効寿命を持っているだけでなく、とにかくキャッシュ内のスペースを使い続けるだろうとして、非常にキャッシュ可能ではありません。

オブジェクトとしてユーザーを作成し、ダイジェスト認証、(またはクッキーあなたが必要であれば)を使用して認証するために、より良いではないでしょう。その方法は、各ユーザーが毎日続くと消えキャッシュするのではなく、独自の永続的なキャッシュを取得します。

ページを作っているので、

これはまた、私にはより論理的な意味があるUSER、(追加「こんにちは[名前]」など)や、「ログイン」および「ログアウトとの間の差に応じて異なって見えます「状態は、ユーザーがURLに含まれているかどうかによって異なります。特定の人物が、そのユーザの特定のURLへのアクセスを許可されるかどうかは、彼らがそのユーザとして認証できるかどうかに依存します。

あなたのRESTfulなフレームワークは、あなたのWebアプリケーションで使用されようとしている、と第三者のためのAPIとして使用しない場合、私はあなたがあなたのアプリケーションの残りの部分と同じ認証方式を使用できない理由を見ません。あなたは、「アプリケーション」レベルより低いレベルの層として、この認証を考えることができます。アプリケーションレベルではまだ純粋なRESTfulな方法でステートレス残ることがあります。

もちろん、あなたがRESTfulなWeb APIを作成することを計画している場合は、このより多くの思考を与える必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top