?
Solved

Problems with JCIFs library, no one seems to know about it.

Posted on 2008-11-13
3
Medium Priority
?
338 Views
Last Modified: 2013-12-24
Is it possible to use JCIFS to return all users from a Domain as well as all groups from that domain?

I have been studying the source code for jcifs 1.3.0 and found a class SID.java. Inside, there are few interesting methods such as getGroupMemberSids.

I have been playing with the code but I did not make much progress. Any comments, suggestions, howtos, pointers, etc are greatly appreciated. Thanks.
try {
    UniAddress myDomain = getPrimaryDomain(ip);
    NTLMAuth = new NtlmPasswordAuthentication(domainName,userName,password);
    SmbSession.logon(myDomain, NTLMAuth);
    // after loging in, here's how to get the SID for the Domain
    jcifs.smb.SID mySid = jcifs.smb.SID.getServerSid(hostName, NTLMAuth);
  // this returns something like 
  // Sid Domain SID: S-1-5-21-796745780-2711697408-451074171
  // trying to resolve SIDs this way DOES NOT work
  SID[] sids = new SID[10];
    sids[0] = mySid; // assigns domain SID???
    
    jcifs.smb.SID.resolveSids(hostName, NTLMAuth, sids);
    
    for (int i = 0; i < sids.length; i++ ) {
            System.out.println("Sids["+i+"] Type: " +sids[i].getType());
    }
 
    // Second attempt, fails as well
 
    String sidDomainId = ""+mySid.getDomainSid();
 
    SID domsid = new SID(sidDomainId);
    int rid = 1120;
    int count = 150;
    
    SID[] sids = new SID[count];
    for (int i = 0; i < sids.length; i++) { 
            sids[i] = new SID(domsid, rid++);
    }
    SID.resolveSids("ts0", null, sids);
    for (int i = 0; i < sids.length; i++) {
            System.out.println("My SIDs "+sids[i].toString());
    }
 
  
  } catch (SmbException smbe) {
          System.out.println("Failed to Authenticate: "+smbe.getMessage()+" NTStatus: "+smbe.getNtStatus());
  } catch (Exception e) {
          System.out.println("Failed to Authenticate: "+e.getMessage());
  }

Open in new window

0
Comment
Question by:CarlosScheidecker
  • 2
3 Comments
 
LVL 9

Expert Comment

by:brunoguimaraes
ID: 22953580
Have you tried joining the JCIFS mailing list and asking this question there?

https://lists.samba.org/listinfo/jcifs

Apparently no one here know much about it.

I've worked with it in the past, but only for user authentication, so my knowledge is close to zero.
0
 
LVL 1

Author Comment

by:CarlosScheidecker
ID: 22954033
Yes, I did it before posting the question here.

Got no answers from them yet.

Thanks.
0
 
LVL 1

Accepted Solution

by:
CarlosScheidecker earned 0 total points
ID: 23072160
No solution to this. Resorted to LDAP to fix the issue.
0

Featured Post

Veeam and MySQL: How to Perform Backup & Recovery

MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
Creating a Cordova application which allow user to save to/load from his Dropbox account the application database.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Suggested Courses
Course of the Month15 days, 16 hours left to enroll

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question