Я использую остальную веб-службу для получения пути к файлу. Здесь я использую контекст безопасности для обеспечения дополнительной безопасности. Я использовал проверку того, что вошедший в систему пользователь должен совпадать с именем пользователя, указанным в URL-адресе веб-службы (проверка безопасности).
Но у меня есть один особый случай, когда у меня есть один пользователь, который используется для получения пути к специальным файлам с сервера. Если я передам этого пользователя из URL-адреса веб-службы, он попадет в проверку контекста безопасности, поскольку пользователь, вошедший в систему, и пользователь, указанный в URL-адресе, не совпадают.
Таким образом, есть любой другой способ исключить специального пользователя из проверки безопасности. Могу ли я указать некоторую конфигурацию в web.xml для решения этой проблемы.
e.g
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-адреса abc, затем разрешите его в проверке безопасности.
вот код веб-сервиса для проверки действительного пользователя
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;
}