私は、これを処理する満足のいく方法を考えずに、私の脳を悩ませて、年を重ねてグーグルグーグルをしてきました。私はリソースを返すためのすてきな完全RESTfulサービスを書こうとしていますが、あなたの役割に応じてリソースごとに異なる(または書き込む)権限があるデータです。したがって、たとえば、ユーザーは自分のプロファイル上で自分のプライベート電話番号を見ることができ、サイト管理者もそうだが、別のユーザーはそうではない。匿名の訪問者は、別のユーザーの実際の名前を見ることができないかもしれませんが、他のユーザー(およびサイト管理者)は実行できます。約4または5のアクセスレベルがあり、どの属性を読み書きできるかについてのルールがあります。私はクライアントがPUTの変更を行うことができ、サーバはすべて(またはまったく)それらを受け入れることに縛られていないが、読書は私の問題です。RESTful属性レベルのアクセス制御の表現方法は?
<user>
<id>jimbob</id>
<real-name>Jim Roberts</real-name> <!-- only logged-in users should see this -->
<phone-number>+1 42424151</phone-number> <!-- only the user and admin users should see this -->
</user>
私はすべての公開データが含まれ、適切にキャッシュ可能なユーザー・プロファイルのリソースを持っているしたいのですが、どのように私は、特定のユーザーのみが見ることができるすべてのものをモデル化するのですか?余分な情報へのリンクは4つまで可能ですが、そのほとんどは、ほとんどのユーザーにとって権限のないエラーが返され、各リンクにはロールに関連する追加の情報が保持されます。しかし、これは非常に非効率的で、クライアントをロールコンセプトに結びつけています。良いアイデアはありますか?
<user>
<id>...</id>
<link rel="more" href="extra-user-profile-data-for-logged-in-users"/>
<link rel="more" href="extra-user-profile-data-for-senior-users"/>
<link rel="more" href="extra-user-profile-data-for-admin-users"/>
<link rel="more" href="extra-user-profile-data-for-superadmin-users"/>
</user>
に注意してください - 私は、サーバー側でアクセス制御または認可を実装
- 認証
- リソース・レベルのアクセス制御
- のいずれかに苦しんでいないです
私は苦労している
- 「通常の」HTMLウェブサイトでは、本当にRESTfulなやり方で、異なる人々とは異なるように見えるリソースを表現する方法。
これは誰もが持っているはずの本当に一般的な問題のようですが、何も見つかりません。助けてください!
私は、ユーザーが見る権限のないプロパティに対応するXML要素を省略することが適切だと思います。私はそれがHTMLフォームにデータを表示するロールベースのWebアプリケーションの数と一貫していると思います。 – EJK
パブリックデータは、同じ(キャッシュされた)表現の制限付きデータの一部(未知)のサブセットと混合されるため、キャッシュ不可能になります。 –
は私にとって単純な問題のように聞こえます。 1.ユーザーが認証します。 2.ユーザーがURIを要求します 3.実装したアクセス制御メカニズムが起動し、URI要求をトラップします。 4.リソースモニタは、要求元のユーザーに返されるデータのテンプレートを作成します。このテンプレートはある種のチケットとして機能します。 5.サービスは、リソースモニターから受信したテンプレートに基づいてURIで指定されたユーザー要求を実行します。 6.サービスは結果をユーザーに返します。 hmmmm – ultrajohn