Использование аспектно-ориентированного программирования для аутентификации пользователей в Java? - PullRequest
1 голос
/ 11 октября 2011

Мне нравится добавлять аутентификацию пользователя в мой веб-сервис REST (Guice + Jersey).

Сначала я хотел решить вопрос аутентификации с помощью перехвата метода Google Guice. Например:

@Path("user")
public class User {

  @OnlyAdmin
  @Post
  public void addUser(String apiKey) {
  }

} 

Но, к сожалению, Guice поддерживает AOP только для классов с конструкторами без аргументов.

  1. Как правило, рекомендуется использовать AOP для аутентификации пользователя?
  2. Существуют ли другие платформы для создания аутентификации пользователя?

Редактировать: Framework, возможно, неправильный термин. Я только ищу способ внедрить некоторый код в каждый аннотированный метод, и этот код должен проверять параметры метода

Ответы [ 2 ]

1 голос
/ 12 октября 2011

Единственный важный момент для работы AOP в вашем случае заключается в том, что ваши классы получают , созданный с помощью Guice.

Если у вас есть конструкторы с аргументами, убедитесь, что они могут быть введены (напрямую илис помощью инъекции).

1 голос
/ 11 октября 2011

Это не было бы АОП, но вы могли бы внедрить текущую роль пользователя, связанную с областью запроса, где бы пользователь ни нуждался в проверке, и использовать либо перехват методов, либо явную логику, чтобы проверить, что правильный класс пользователя выполняет какое-то действие.1001 *

...