开发者

Java - Access file with user authentication

I have a server where I work with a database and files using a java app. When I start my app I give a report regarding file access to the server using:

public static boolean folderExists(String folderPath) {
    File folderToCheck = new File(folderPath);
    return folderToCh开发者_StackOverflow社区eck.exists();
}

Every time I start my app (after a fresh restart of my computer) I get a false response, even though the server is on. The reason is because I must give an authentication as another user. What I do is access the server through Windows where I am being asked for username/password, and after that I get a true response regarding file access to the server.

Is there a way to give the authentication username/password through Java, and not through Windows?

Thank you


On Windows 'native' Java IO (e.g. java.io.File) always inherits the security context of the user running the JVM process. For example, you could run the Java app as a Windows service with the correct credentials.

The JCIFS project implements CIFS (the Windows SMB file server protocol) and allows you to directly specify the username/password.

See the API for examples.


I am pretty sure, that there is no way to grant fileaccess by java, without a Windows-Call.

You can call cacls file.log /e /t /p Everyone:f but this will be language-dependent.

I had a similar problem: How to change the file ACL in windows, if I only know the SID?

With Java7 there may be a way to do this.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜