のRest serviceメソッドのためにapache shiroを使用して認証を提供します。私は2つのWebサービスメソッドを持っています。一方はstoreName()
であり、他方はviewAllNames()
である。私のシンプルなWebアプリケーションでJavaアプリケーション
管理者ロールは両方の方法にアクセスできます。しかし、ユーザーの役割はviewAllNames()メソッドにアクセスする必要があります。
私はを使用します。Apache shiro、maven、ウェブベースのプロジェクトと休憩サービス。これらの2つの方法についてのみ許可を与えます。
私の実際の残りのURLは次のとおりです。
http://localhost:8080/SimpleRest/simpleservice/store/jackreobert --> admin only
http://localhost:8080/SimpleRest/simpleservice/viewall/ --> user only
shiro.ini、web.xmlおよびannotaion/XMLを構成する方法。
shiroアプローチについては、これを達成するために、WebサービスのURLに他の情報を渡す必要がありますか?
SimpleService.java
package com.simple.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.json.JSONException;
@Path("/simpleservice")
public class SimpleService {
@Path("/store/{name}")
@GET
@Produces("application/json")
public Response storeName(@PathParam("name") String name) throws JSONException {
/**
* Here insert logic
*/
String result = "Given name: " + name + " successfully stored";
return Respo}nse.status(200).entity(result).build();
}
@Path("/viewall")
@GET
@Produces("application/json")
public Response viewAllNames() throws JSONException {
/**
* Here retrieve logic
*/
String result = "All names are taken";
return Response.status(200).entity(result).build();
}}
私のポストのために読んでくれてありがとう。 助けてください、 ありがとうございます。