|
The only pure Java Subversion library in the world!
|
|
Этот перевод подготовил Георгий Пращарук из MindTech.
Аутентификация
Для предоставления аутентификационной информации серверу репозиториев SVNRepository драйвера используют
интерфейс ISVNAuthenticationManager (org.tmatesoft.svn.core.auth).
Когда объект SVNRepository используется напрямую, вы должны предоставить менеджер аутентификации следующим способом:
...
import org.tmatesoft.svn.core.io.SVNRepository;
import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
...
SVNRepository repository;
ISVNAuthenticationManager authManager;
...
repository.setAuthenticationManager(authManager);
Если работаете с рабочими копиями (т.е. используете классы SVN*Client ):
...
import org.tmatesoft.svn.core.wc.SVNUpdateClient;
import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
import org.tmatesoft.svn.core.wc.ISVNOptions;
...
ISVNAuthenticationManager authManager;
ISVNOptions options;
...
SVNUpdateClient updateClient = new SVNUpdateClient(authManager, options);
или если вы используете единственный SVNClientManager :
...
import org.tmatesoft.svn.core.wc.SVNClientManager;
...
SVNClientManager manager =
SVNClientManager.newInstance(options, authManager);
Вы можете реализовать свой собственный менеджер аутентификации и соответственно использовать его в работе с SVNKit.
ISVNAuthenticationProvider и ISVNAuthenticationStorage
Собственно говоря, для предоставления клиентского мандата и приема сертификатов аутентификации сервера
ISVNAuthenticationManager может использовать интерфейс ISVNAuthenticationProvider .
Для осуществления аутентификации менеджер использует вашу реализацию провайдера аутентификации просто передавая его
в менеджер примерно так:
import org.tmatesoft.svn.core.auth.ISVNAuthenticationProvider;
ISVNAuthenticationProvider yourAuthProvider;
ISVNAuthenticationManager authManager;
...
authManager.setAuthenticationProvider(yourAuthProvider);
Также ISVNAuthenticationManager может быть сконфигурирован для использования с хранилищем аутентификации времени
исполнения, которое может быть использовано для кэширования пользовательских мандатов во время исполнения:
import org.tmatesoft.svn.core.auth.ISVNAuthenticationStorage;
ISVNAuthenticationStorage yourAuthStorage;
ISVNAuthenticationManager authManager;
...
authManager.setAuthenticationProvider(yourAuthStorage);
Использование штатной реализации
Для получения штатной реализации ISVNAuthenticationManager вы должны использовать
методы createDefaultAuthenticationManager() класса SVNWCUtil
class (org.tmatesoft.svn.core.wc).
Прочтите javadoc
по данному классу.
В дополнение штатная реализация провайдера аутентификации,DefaultSVNAuthenticationManager
(org.tmatesoft.svn.core.internal.wc), также использует настройки и мандаты кэшированные
из штатной директории конфигурации Subversion или из директории конфигураций которая была предоставлена соответствующим
методом createDefaultAuthenticationManager() .
Если у вас есть любые вопросы относительно SVNKit, хотите сообщите о баге или предоставить патч пожалуйста пишите
support@svnkit.com
|