JWS WebService аутентификация - PullRequest
       16

JWS WebService аутентификация

0 голосов
/ 06 января 2019

Я создаю javax.jws.WebService Мне нужно сделать какую-то авторизацию (user + pass). Я на самом деле не хочу проверять каждый метод службы, есть ли у пользователя права вызывать это, потому что это было бы очень грязно.

Существует ли какой-либо фильтр запросов WebService, который мог бы извлекать заголовки HTTP и проверять пользователя, чтобы я мог использовать только некоторые аннотации вместо жестких проверок кода перед каждым методом?

@WebService
public class Data implements IDataService {

@Resource
WebServiceContext wsctx;

@EJB
AccessSB access;

@EJB
IDataService dataService;

@WebMethod
public Response<Data> getData(String something) {
    if (!access.hasAccess("getData", wsctx.getMessageContext())) {
        return new Response<Data>(Status.ACCESS_DENIED, false);
    }
    return dataService.getData(something);
}

@WebMethod
public Response<Data> setData(String key, String value) {
    if (!access.hasAccess("register", wsctx.getMessageContext())) {
        return new Response<Data>(Status.ACCESS_DENIED, null);
    }
    return dataService.setData(key, data);
}
}

Это пример того, как будет выглядеть мой сервис, но, как вы можете видеть, проверка того, может ли пользователь позвонить, очень грязная.

...