【发布时间】:2020-06-03 02:51:25
【问题描述】:
我正在尝试为几个简单的 RESTful API 开发一个简单的球衣应用程序。我想通过我的 API 端点尝试基于角色的证券,但不确定如何?
是否应该像下面这样在 WebService 类上声明注解?
@Slf4j
@Path("/account")
@Autherization
@DeclareRoles("ADMIN", "STUDENT", "TEACHER")
public class AccountService extends SpringApplication {
private static Logger logger = Logger.getLogger("AuthenticationService");
@Path("/greet")
@GET
@Produces(MediaType.TEXT_PLAIN)
@PermitAll
public Response greet(){
logger.info("Welcome to Tarkshala Scholar Account APIs");
return getBean(AuthenticationServiceHandler.class).greet();
}
}
还是应该在过滤器上声明?
【问题讨论】:
-
你的身份验证怎么样?
-
@PaulSamsotha 为了安全起见,有一个过滤器检查标题。它在标头中找到会话 ID 和用户名,然后从数据库中获取用户详细信息以获取用户角色。此用户角色与存储在注释
@RolesAllowed("ADMIN")中的值进行比较,您可以在此处找到它 bitbucket.org/snippets/kuldeepiitg/EbGLA4
标签: java rest tomcat glassfish jersey-2.0