jcifs.smb

Class SmbSession

public final class SmbSession extends Object

The class represents a user's session established with an SMB/CIFS server. This class is used internally to the jCIFS library however applications may wish to authenticate aribrary user credentials with the logon method. It is noteworthy that jCIFS does not support DCE/RPC at this time and therefore does not use the NETLOGON procedure. Instead, it simply performs a "tree connect" to IPC$ using the supplied credentials. This is only a subset of the NETLOGON procedure but is achives the same effect. Note that it is possible to change the resource against which clients are authenticated to be something other than IPC$ using the jcifs.smb.client.logonShare property. This can be used to provide simple group based access control. For example, one could setup the NTLM HTTP Filter with the jcifs.smb.client.domainController init parameter set to the name of the server used for authentication. On that host, create a share called JCIFSAUTH and adjust the access control list for that share to permit only the clients that should have access to the target website. Finally, set the jcifs.smb.client.logonShare to JCIFSAUTH. This should restrict access to only those clients that have access to the JCIFSAUTH share. The access control on that share can be changed without changing init parameters or reinitializing the webapp.
Method Summary
static byte[]getChallenge(UniAddress dc)
static byte[]getChallenge(UniAddress dc, int port)
static NtlmChallengegetChallengeForDomain()
static voidlogon(UniAddress dc, NtlmPasswordAuthentication auth)
Authenticate arbitrary credentials represented by the NtlmPasswordAuthentication object against the domain controller specified by the UniAddress parameter.
static voidlogon(UniAddress dc, int port, NtlmPasswordAuthentication auth)
StringtoString()

Method Detail

getChallenge

public static byte[] getChallenge(UniAddress dc)

getChallenge

public static byte[] getChallenge(UniAddress dc, int port)

getChallengeForDomain

public static NtlmChallenge getChallengeForDomain()

logon

public static void logon(UniAddress dc, NtlmPasswordAuthentication auth)
Authenticate arbitrary credentials represented by the NtlmPasswordAuthentication object against the domain controller specified by the UniAddress parameter. If the credentials are not accepted, an SmbAuthException will be thrown. If an error occurs an SmbException will be thrown. If the credentials are valid, the method will return without throwing an exception. See the last FAQ question. See also the jcifs.smb.client.logonShare property.

logon

public static void logon(UniAddress dc, int port, NtlmPasswordAuthentication auth)

toString

public String toString()