Struts、Spring、Hibernateを使用して構築されたアプリケーションがあります。このアプリケーションでは、RESTサービスを構築したいと思います。このRESTサービスはAndroidアプリケーションで使用されます。このアプリケーションでは、ユーザーとロールがデータベースに保存されていました。ユーザーテーブルのユーザー名とパスワード、およびロールテーブルのロール。私が聞きたいのは、RESTサービスにアクセスしたいクライアントを認証する方法です。したがって、RESTサービスでリソースにアクセスするには、クライアントが最初にログインする必要があります。ユーザーがログインしていない場合、残りは常に文字列「not_authenticated」を返します。通常、Webアプリケーションでは、これはセッションを使用します。残りの部分も同じですか?
現在のコードを追加し、質問を更新するために編集しました
@POST
@Path("/login")
@Produces(MediaType.APPLICATION_JSON)
public Response login(@FormParam("username") String username,
@FormParam("password") String password){
MessageDto messageDto = customerService.autenticate(username, password);
if(messageDto.getResult().equals("success")){
return Response.ok(messageDto)
.cookie(new NewCookie("customerId", messageDto.getMessage()))
.build();
}else{
return Response.ok(messageDto)
.build();
}
}
MessageDtoは、2つの変数StringresultとStringmessageを持つオブジェクトです。たとえば、クライアントがログインに成功した場合、jsonの戻り値は次のようになります。
{"result":"success","message":"1-admin"}
クライアントがログインに成功しなかった場合
{"result":"error","message":"Your username is not registered"}