SmbException在Java中连接主机名/IP_address抛出的适当凭证失败
我需要连接到具有适当用户凭据(用户名,密码,域)的共享文件夹. 然后,当我可以访问文件夹时,我需要列出其中的子文件夹和文件. im尝试使用jcifs.smb.SmbFile类和jcifs.smb.NtlmPasswordAuthentication进行身份验证. 我的代码如下: NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domainName", "userName", "password"); SmbFile smbFile = new SmbFile("smb://servername/someFolder", auth); for (String fileName : smbFile.list()) { System.out.println(fileName); } 我可以通过这些凭据连接到服务器,但是我会遇到此错误: Exception in thread "
0 2024-03-19
编程技术问答社区
JCIFS可以和Jersey一起使用吗?
我在使用Jersey和Apache HTTPClient的现有应用程序中添加NTLM身份验证很难.我只能使用JCIF进行身份验证,httpclient的默认NTLM身份验证不起作用(我获得401). Apache HTTPClient页面的示例显示了如何使用ClosableHttpClient: Registry authSchemeRegistry = RegistryBuilder.create() .register(AuthSchemes.NTLM, new JCIFSNTLMSchemeFactory()) .register(AuthSchemes.BASIC, new BasicSchemeFactory()) .register(AuthSchemes.DIGEST, new DigestSchemeFactory()) .register(AuthSchemes.SPNEGO, new
2 2024-02-28
编程技术问答社区
如何使用JCIFS与apache VFS来访问SMB URL-part 2?
我也有同样的问题: 如何与我一起使用JCIFS Apache VFS访问SMB URL? ...包括Commons-VFS-SandBox-2.1-snapshot.jar之后,我现在得到此例外: Exception in thread "main" org.apache.commons.vfs2.FileSystemException: Could not determine the type of file "smb://10.10.18.210/CIFS/123/asd". at org.apache.commons.vfs2.provider.AbstractFileObject.attach(AbstractFileObject.java:1522) at org.apache.commons.vfs2.provider.AbstractFileObject.getType(AbstractFileObject.java:489) at or
6 2024-02-28
编程技术问答社区
我如何使用JCIFS与apache VFS来访问SMB URL?
我正在尝试使用SMB URL访问本地计算机上的文件夹. 我的项目是使用罐子:Commons-VFS2-2.0.Jar和JCIFS-1.3.17.Jar(以及所有其他必需的罐子). 整体中的代码是: public static void main(String[] args) throws FileSystemException { jcifs.Config.registerSmbURLHandler(); StaticUserAuthenticator auth = new StaticUserAuthenticator(,,); FileSystemOptions opts = new FileSystemOptions(); DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth); File
2 2024-02-27
编程技术问答社区
JCIFS-通过SMB传输一个文件
使用JCIFS SMB,我正在尝试将一些文件从存储的目录从存储的目录转移到远程服务器" BOB".我需要使用JCIFS,因为该动作通过和Android应用程序,即我正在将照片从应用程序移至远程服务器.为了对用户进行身份验证,我的公司使用Active Directory.一段时间以来,Active Directory与照片所在的服务器相同,一切都很好.不幸的是,他们不得不更改将Active Directory存储到"多雨"的服务器,但不存储照片的服务器.因此,我需要将这些照片发送到"鲍勃",但使用"多雨"作为登录的域控制器.尽管我进行了最佳尝试,但我遇到了一个错误"无登录服务器来服务登录请求",它在键入" smbfileoutputstream"行时返回此错误. // Logon first. UniAddress domainController = UniAddress.getByName("10.1.0.7"); SmbSession.logon(domainControlle
2 2024-02-07
编程技术问答社区
KSoap-Android\JCIFS发送空的HTTP帖子
我创建了一个基于KSOAP ANDROID和JCIFS的NTLM身份验证肥皂客户端.实现看起来像这样: public class NtlmServiceConnection implements ServiceConnection { public NtlmServiceConnection(final SoapConnectionInfo connectionInfo, String path) { httpclient = new DefaultHttpClient(); httpclient.getAuthSchemes().register(AuthPolicy.NTLM, new NTLMSchemeFactory()); //... @Override public InputStream openInputStream() throws IOException {
12 2024-02-04
编程技术问答社区
如何使用jCIFS在Android中用默认的查看器打开文件
我正在使用免费的JCIFS库通过CIFS连接到我的NAS设备,而且运行良好.我可以连接并获取文件名等列表,而没有任何问题. 现在,我想在默认的Android应用程序中打开一个文件 - 即,应该在音乐播放器中打开音乐文件,画廊中的图像,视频播放器中的视频文件等.问题并不是真正要获得Mime类型等.问题是我不想先下载文件,它们应该是流. . 有人知道如何实现这一目标吗?我知道Cifsmanager(另一个第三方应用程序)能够做类似的操作,但是它不使用JCIF,并且需要访问安装驱动器.我的应用程序不需要root访问是至关重要的. 您可以在此处找到JCIFS库: http://jcifs.samba.org/ 解决方案 您可以使用 smbfileinputstream 读取文件. 请浏览文档/p>
8 2024-02-04
编程技术问答社区
使用Samba/JCIFS写入/上传文件的问题(SmbAuthException: Access is denied)。
因此,我正在尝试将文件从Android设备编写到Windows共享文件夹.我正在使用JCIFS的最新版本和显示可用网络共享的代码正常运行.因此,我认为JCIFS以及我的LAN,WiFi等都可以了.这是要上传的代码(实际上我只想将文本Sring写入文件): public boolean save2Samba(String text, String fileName) { try { // My Windows shares doesn't require any login/password // String name="login";//my windows username // String password="password1";//my windows password // sSambaFolder contains a path like MY
2 2024-02-03
编程技术问答社区
如何通过安卓系统访问Windows中的共享文件夹并读取文件
我需要从我的Android手机连接到Windows PC共享和访问文件.我在Android市场中看到了一些示例应用程序,可以使用SMB/Samba访问共享文件夹.但是我不知道如何创建这样的应用. 解决方案 您需要获得 jcifs 并使用 smbfile 类,可以通过网络与文件交互, 这是如何列出文件的快速示例,您需要互联网权限.到目前为止,每次我尝试调用smbfile.listfiles();我得到了一个未知的HostException,但是其他人可以毫无问题地进行接缝,这可能对您有用,试试看! 其他解决方案 Google已发布了一个简单的免费桑巴餐厅.它在github上,因此您可以看到并使用所需的任何东西: https:https:///Github.com/google/samba-documents-provider 另一个选项是jcifs:我使用了JCIFS.这是我的代码中的一个示例,该示例从Windows共享中的文件夹中读取文件: Tr
24 2024-01-28
编程技术问答社区
使用jCIFS流媒体文件的Android ServerSocket编程
我有一个问题,我一直在问过很多次,但是我认为我现在距离距离更近了,所以希望有人可以帮助我. 我以前的问题: 从Android 连接到NAS设备 如何在Android中打开Android的文件使用JCIFS 的默认查看器 简单地说 - 我想创建一个应用程序: 可以使用JCIFS连接到NAS设备 能够在默认查看器中启动文件 - 即视频播放器中的视频 第一部分相对容易,我已经做到了,但是第二部分是让我困扰我和我以前问过的几次.我认为我已经取得了一些进步. 我认为我需要在应用程序中使用ServerSocket以某种方式在NAS和播放内容的应用程序之间创建桥梁.我认为这可以使用Service完成. NAS设备的文件可以作为FileInputStream. 访问 市场上有很多应用程序(即 我在使用上述某些应用程序时一直在看logcat,它们似乎都在创建本地服务器,然后从该服务器启动视频Intent.如何实现? 解决方案 基本答案是使用Smb
16 2024-01-28
编程技术问答社区
Xamarin.android-复制.jpg到共享文件夹
我正在使用桑巴文件服务器将文件从我的Android设备复制到Windows上的共享文件夹.使用.txt文件,我没有任何问题,可以正常工作,但是我尝试将.jpg文件复制到共享文件夹中,并且失败了.我从互联网上搜索了很多代码,但任何人都解决了我的问题. 我设法复制了图像,但是当我打开图像时,它被损坏. 有人有任何示例代码吗? 我的代码是: Java.IO.File mfile = new Java.IO.File(item.FullName); var mSharedFolderCalidad = new SmbFile(AppGlobalConfigSoftware.Instance.Parameters.PathToDownloadCalidad + item.Name); //If exists don't create another time if (!mSharedFolderCalidad.Exists()) mSharedFolderCalid
4 2023-12-16
编程技术问答社区
JCIFS库的smbfile中没有有效的lastModified。
我怀疑jcifs库的smbfile中有一个错误,因为我只得到 " thu 1月1日08:00:00格林尼治标准时间+08:00 1970"对于GetlastModified()的日期;上一次更改(); 当我将窗口共享到Android设备时. 我正在浏览存在的文件,并且能够进行文件复制操作,因此无法使用文件名或路径的错误. 我想获取MS窗口文件的一个文件,无论是创建日期,最后修改的日期或访问日期. filedatetime = mWindowFile.getLastModified(); mToAndroidFile.setLastModified(filedatetime); 解决方案 对2部电话进行测试:以4.2.2的扎根Android. setLastModified始终返回false,另一个具有7.1.2的Android,setLastModified Works.因此,setlastModified是否有效,这取决于.总是测试返回的值!
2 2023-12-05
编程技术问答社区
Spring security 3 + JCIFS ntlm
他们可以一起工作吗? 一些项目样本很棒. 我在spring3上有一个网络应用.我需要实现NTLM. Spring停止了第三版中的NTLM支持.是否有可能实施它? 寻找示例项目. 解决方案 可以一起使用.从本质上讲,您要做的就是挂接Spnego协议,并检测您何时从客户端接收NTLM数据包.可以在此处找到该协议的良好描述: /a> http://blogs.technet. com/b/tristank/Archive/2006/08/02/thechotiate-this.aspx NTLM的另一个重要资源是: http://davenport.sourceforge.net/ntlm.net/ntlm.htmm.html ,但是您要求一个样本,所以就来了.要检测NTLM数据包,您需要base64 解码数据包并检查起始字符串: public void doFilter(ServletRequest req, ServletResponse
46 2023-09-14
编程技术问答社区
从本地文件夹向 smb 共享 jcifs 推送多个文件
我们如何使用Java将多个文件从本地文件夹推到SMB共享文件夹.我可以使用smbfile来处理我的单个文件,并且它正在工作.我正在寻找将多个文件推向SMB共享. 任何参考链接和示例代码都会有所帮助. 谢谢. 编辑,代码的引用: smbfile [] files = getsmblistoffiles(SB,Logger,域,用户名,密码,源Path,sourcePattern); if (files == null) return false; output(sb, logger, " Source file count: " + files.length); String destFilename; FileOutputStream fileOutputStream; InputStream fileInputStream; byte[] buf; int len; for (SmbFile smbFile: files) { destFil
22 2023-08-21
编程技术问答社区
JCIFS 如何在文件夹与所有人共享时进行授权?
我们有一个场景,我们正在与每个人共享一个文件夹(我认为包括您域中的所有用户) 当我们在win+r中使用\\ server-ip \ sharedFolder时,我们能够连接到文件夹并使用任何密码浏览(我的计算机在同一域上使用用户登录) 当我在Java应用程序中使用诸如This 的文件类代码时 文件f =新文件(\\ server-ip \ sharedfolder); 它也有效,但是我想使我的应用程序在Mac/Linux上工作,因此我尝试将JCIFS用于此目的.但是,当访客帐户也不在视图时,我在认证我应该用作用户名和密码的情况下遇到问题.我尝试了 package test; import java.net.MalformedURLException; import jcifs.smb.NtlmAuthenticator; import jcifs.smb.NtlmPasswordAuthentication; import jcifs.smb.SmbExc
34 2023-07-14
编程技术问答社区
使用Java和Samba JCIFS访问文件
我有一个有关使用桑巴jcifs访问文件的问题. 所以我想访问一台服务器,我们称其为server.unv.edu,工作组为wkgrp. 此服务器中有一个共享:\\ server.unv.edu \ pcb $ 我尝试访问服务器的方式是: public class SMBAuthenticator extends NtlmAuthenticator { private String username = "username"; private String password = "password"; private String domain = "smb://server.unv.edu/WKGRP/"; public SMBAuthenticator() { NtlmAuthenticator.setDefault(this); } 和 public class SMBConnection { public String urlStrin
8 2023-06-17
编程技术问答社区
iText Java向现有pdf添加标题
我想使用itext添加标头. 我没问题,除了我的功能有时用正确的标头和页脚创建PDF,但现有的PDF页面旋转. private static void print(Sldocuments item, String header, String footer) { try { String ftpFilename = item.getId()+"_"+item.getDocumentname(); String newName= String.valueOf(item.getId())+".pdf"; String path = (Global.SHARED_FOLDER_DEVELOPER); String smbUser = "**;"+"**" + ":" + "**"; NtlmPasswordAuthentication auth = new NtlmPasswordAuthen
20 2023-05-22
编程技术问答社区
JCIFS NTLM库的替代方案
JCIFS NTLM库有其他选择吗? 解决方案 华夫饼 - https://github.com/dblock/dblock/waffle 有过滤器,身份验证器,支持弹簧安全性等.仅Windows,但不需要本机DLL. 其他解决方案 说实话,您不应该寻找一个.对于您的SSO需求,您应该使用适当的kerberos/spnego代替旧版NTLM. 对于这些东西,您不需要特殊的库,因为已经启用了JVMS自动执行此操作.您要做的就是正确配置您的应用程序和JVM安全策略. Sun的官方文件应为您提供所需的所有详细信息,只需浏览"安全API"部分. 实际上/www.innovation.ch/personal/ronald/ntlm.html" rel =" nofollow"> 4-way握手在Windows IIS上本地使用Windows II和一个保持生命的Java插座. 此2004 apache 2004年的旧apache代码可行,但身份验证是不稳定的,您
22 2023-04-30
编程技术问答社区
使用jcifs读取文件的最简单方法
我正在尝试使用外部SmbFile file= null; try { String url = "smb://"+serverAddress+"/"+sharename+"/TEST.txt"; NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, username, password); file = new SmbFile(url, auth); SmbFileOutputStream out= new SmbFileOutputStream(file); out.write("test string".getBytes()); out.flush(); out.close(); } catch(Exception e) { JOptionPane.showMessageDialog(null, "ERROR: "+e); } 解决方案 SmbFile file = null; byte[
44 2022-12-30
编程技术问答社区