@RolesAllowed()仅适用于方法,但不适用于类

时间:2019-06-25 05:56:31

标签: java spring-security jax-rs

我有一个REST API,我尝试使用其他特权进行使用。 当我在所有类中使用@RolesAllowed批注时,这最后一个无效。

但是当我将@RolesAllowed()放入特定方法中时,就可以了!

如果我将注释放在类上方,则不起作用:

@RolesAllowed("student.roles")
@Tag(name = "student", description = "student API")
public class StudentResource {
@Inject
private StudentBridge studentBridge;

  @GET
  @Path("ext/students")
  public List<StudentView> findAll() {
    return studentBridge.findAll();
   }

  @GET
  @Path("student")
  public StudentView findOne(long id) {
    return studentBridge.findOne(id);
 }
 } 

但是当我将注释放在每种方法之上时,它就可以正常工作:

@Tag(name = "student", description = "student API")
public class StudentResource {
@Inject
private StudentBridge studentBridge;

  @GET
  @Path("ext/students")
  @RolesAllowed("student.roles")
  public List<StudentView> findAll() {
    return studentBridge.findAll();
   }

  @GET
  @Path("student")
  @RolesAllowed("student.roles")
  public StudentView findOne(long id) {
    return studentBridge.findOne(id);
 }
 }

对这种行为有任何想法吗?

0 个答案:

没有答案