我正在尝试使用 java 为 svn 构建自定义 UI。它只是一个简单的应用程序,您可以在其中在文本框中提供 svn url。浏览器要求用户名和密码进行身份验证。然后就可以浏览SVN的目录结构了(仅供阅读)
为此,我选择了 svnkit jars。身份验证(业务逻辑)非常简单。
public static ISVNAuthenticationManager authManager = null; // currently used a static variable in the class
public List<String> myfunction(String path, String uName, String password){
public static SVNRepository repository =
SVNRepositoryFactory.create(SVNURL.parseURIEncoded(url.toString()));
if(authManager == null){ // initializing if the authentication is not present
if( uName != null
&& password != null
&& !uName.trim().equals("") && !password.trim().equals("") ){
authManager =
SVNWCUtil.createDefaultAuthenticationManager(uName, password);}
}
repository.setAuthenticationManager(authManager);
// logic for fetching files/folders for the specific url
}
问题是我每次向存储库提供 url 时都需要设置身份验证管理器。显然我不想在会话中存储用户名和密码,我不确定将 authManager 对象保存在会话中是否安全。
有人可以建议一种从安全角度来看可能是安全的身份验证方法吗?