0

私は小さなウェブアプリに取り組んでいます。1つの会計プロセスを自動化します。

ビジネス要件とSOA構造を作成しましたが、制限のため、特に承認部分については先に進むことができません。

私を混乱させる1つのことは、RESTful APIを使用して(認証ではなく)承認を行う必要があるかどうかです。または、この承認サービスを公開せずに、バックエンドで承認(ユーザー->役割->許可されたアクション)を実行する必要がありますか?

ここで、SOA + RESTful APIが承認を処理するためのベストプラクティスは何ですか?

よろしくお願いいたします。ニコラス

4

2 に答える 2

1

sessionREST APIの特徴は、たとえばを使用してユーザーにログインできないことです。ユーザーが保護されたリソースにアクセスしようとするたびに、リクエストとともにユーザーを識別するトークンを送信する必要があります(リクエストでパスワードを送信しないようにトークンを使用します)。

したがって、ユーザーがメソッドを呼び出した場合でも、/authorize/{...}ログイン状態がないため、他のメソッドが呼び出されるときにその資格情報を再度確認する必要があります。

だから私にとって、進むための最良の方法は次のとおりです。

  1. ユーザーは、ユーザー名とトークンをパラメーターとしてリクエストを送信します
  2. サーバー側で、トークンが有効かどうかを確認します(ユーザー名と一致し、有効期限が切れていません)
  3. トークンが有効な場合、ユーザーは彼が誰であるかを言うので、あなたはその権利を確認できます(彼がリソースにアクセスできる場合)
  4. 彼がアクセスできる場合は、リクエストを続行します
  5. それ以外の場合は、 (無許可)HTTPのようなエラーに応答します401
于 2013-01-23T09:15:25.240 に答える
1

あなたの質問を誤解していなければ、サーバーがアクセスエラー(またはリソースにアクセスする権利がないというエラー)またはリクエストの結果を返す可能性がある各サービスリクエストが正しいと思います。

JSONでは、サーバーは次のようなものを返します

{
"status": "ko",
"error": {
    "number": "xx",
    "msg" ; "error you dont have right to access"
 }

}

そして大丈夫なら

{
"status": "ok",
"result": {
    ...
 }

}

于 2013-01-23T09:00:06.663 に答える