私はURLを入力することができ、実行したいRESTメソッドの種類(POST、GET、PUTなど)を選択できるREST-Client Standalone Desktop-Applicationを持っています。認証のための適切な場所
クライアントは主にBody-Message(XML形式)を送信する機能を提供します。メッセージの中には、メッセージを処理するために必要なすべての情報が含まれています。
クライアントにも基本認証があり、各要求もユーザー名とパスワードを送信します。
Delphi XE8アプリケーションウィザードの助けを借りて、私は認証と承認を持つ簡単なスタンドアロンFiremonkey RESTサーバーを作成しました。
Client-Applicationからリクエストを送信すると、私のサーバーは、ウィザードによって追加された "WebModuleDefaultAction"ファンクション内でそのリクエストを受け取ることができます。
私が知りたいと思うのは、より厳しいかどうかです。これは、正当な理由があるかどうかを確認する適切な場所です。
それは次のようになります。
procedure TWebModule1.WebModuleDefaultAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
s:string;
Username:string;
Password:String;
begin
s:=Copy(Request.Authorization,7,length(Request.Authorization)-6);
s:=TNetEncoding.Base64.Decode(s);
if (Username='JohnDoe') and (Password='MyPassword') then
begin
if (Request.InternalPathInfo='') or (Request.InternalPathInfo='/') then Response.Content:=ReverseString.Content
else if (Request.InternalPathInfo='ShowContent') or (Request.InternalPathInfo='/ShowContent') then Response.Content:=PP_ShowContent.Content
else Response.SendRedirect(Request.InternalScriptName + '/');
handled:=true;
end
else
begin
Response.Content:='Unauthorized';
handled:=false;
end;
end;
認可がコンセプトの証明として提示することを意図しているとして、ユーザーのチェックは、ちょうど今の静的です。
しかし、私がこのような権限を行えば、この機能はいつか大きく成長し、私はServerRolesも逃してしまうと思います。残念ながら、私はREST開発の話題で何かを行う適切な方法が何であるかを知るには十分な知識がありません。
ウィザードによって追加された認証マネージャーもあります。しかし前と同じように私はそれをどうするか分からない。