Java JCIFS: доступ к местоположению SMB с использованием текущих учетных данных пользователя

JCIFS, по-видимому, имеет два режима подключения к удаленным дискам, первый из которых заключается в создании подключения, которое использует

SMBFile(path, new NtlmPasswordAuthentication(domain, username, password));

Второй будет использовать гостевые учетные данные

SMBFile(path);

У меня есть ситуация, когда пакетный процесс Java пытается подключиться к удаленному местоположению, я не буду знать учетные данные заранее, но профиль, в котором запущено приложение, имеет разрешение на доступ к удаленному местоположению SMB. Есть ли способ использовать текущие учетные данные работающих пользователей без необходимости запрашивать их?


person Chris    schedule 18.07.2013    source источник


Ответы (1)


Вероятно, это не тот ответ, который вы ищете, но JCIFS - это полностью реализация протокола CIFS только для Java. У него нет абсолютно никакой возможности наследовать учетные данные от операционной системы.

Однако, если вы работаете на платформе Windows, вы можете использовать имена файлов UNC для доступа к данным, например.

FileInputStream s = new FileInputStream("\\\\server\\share\\file.txt");

И пока учетные данные доступны для работающего сеанса Windows, вы должны использовать собственные учетные данные пользователя.

person Petesh    schedule 18.07.2013
comment
Разочаровывая, я предполагаю, что реализация уровня ОС работает вокруг этого, потому что именно Windows выполняет вызовы CIFS. Мне просто нужно попробовать CIFS и вернуться к FileInputStream, если учетные данные не существуют. Спасибо. - person Chris; 12.08.2013
comment
Да, в этом случае Windows занимается управлением учетными данными. - person Petesh; 12.08.2013