Я использую веб-сервис для поиска пути к файлу. Здесь я использую контекст безопасности для обеспечения некоторой дополнительной безопасности. Я использовал валидацию о зарегистрированном пользователе, должен быть таким же, как имя пользователя, указанное в URL-адресе веб-службы (проверка безопасности).Как исключить специальных пользователей из проверки проверки безопасности в restful webservice
Но у меня есть один специальный случай, где у меня есть один пользователь, который используется для получения специального пути к файлам с сервера. Если я передаю этого пользователя из URL-адреса веб-службы, он попадает в проверку контекста безопасности, поскольку зарегистрированный пользователь и указанный URL-адрес не совпадают.
Таким образом, существует другой способ исключить специального пользователя из проверки безопасности. Могу ли я указать некоторую конфигурацию в web.xml для решения этой проблемы.
например
condition 1
logged-in user - xyz
web-service URL - 192.168.0.132/download.ws/xyz/fileid
passed in security checked.
и
condition 2
logged-in user - xyz
abc is valid and authorized user.
web-service URL - 192.168.0.132/download.ws/abc/fileid
failed in security checked.
я хотим, чтобы он прошел без, делать, когда пользователь из URL является а затем разрешить его в проверке безопасности.
здесь код веб-сервис для проверки действительного пользователя
public String getCallerId(SecurityContext sc) {
// we always create a GenericPrincipal object in AuthService
GenericPrincipal userPrincipal = (GenericPrincipal) sc.getUserPrincipal();
String szUserEmailID= userPrincipal.getName();
return szUserEmailID;
}
public boolean authorizeRequest(SecurityContext osc, String szResourceID, String reqType) {
if(getCallerId(osc).equalsIgnoreCase(szResourceID)) // check for logged-in user and user specified in web-service url
return true;
return false;
}