в моем простом веб-приложении, у меня есть два метода веб-службы. один - storeName()
, а другой - viewAllNames()
методов.Предоставьте авторизацию с помощью apache shiro для метода обслуживания Rest в java-приложении
Административная роль может быть доступна для обоих методов. Но роль пользователя должна быть доступна с помощью метода viewAllNames().
Я собираюсь использовать Apache shiro, maven с веб-проектом и сервисом отдыха. Предоставьте разрешение только для этих двух методов.
Мой фактический отдых Ссылка:
http://localhost:8080/SimpleRest/simpleservice/store/jackreobert --> admin only
http://localhost:8080/SimpleRest/simpleservice/viewall/ --> user only
Как настроить shiro.ini, web.xml и annotaion/XML.
Для широкого подхода, мне нужно передать любую другую информацию в 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();
}}
Спасибо за чтение моего поста. Помогите мне, Заранее спасибо.