[CORE-344] Support for NTLM2 Created: 01/Jul/19  Updated: 18/Sep/19  Resolved: 05/Sep/19

Status: Closed
Project: i2b2 Core Software
Component/s: None
Affects Version/s: None
Fix Version/s: 1.7.12

Type: New Feature Priority: Major
Reporter: Mike Mendis Assignee: Reeta Metta
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Rank: 0|s0000w:
Sprint: v1712.1
i2b2 Feature/s:
Login Authentication

JCIFS is in maintenance mode and does not support NTML2/3. Action items:
1) Create new security authentication called SecurityAuthenticationNTLM2
2) Propose using SMBj which support 2 and partial 3

Proposed code for new security authentication:

import com.hierynomus.smbj.SMBClient;
import com.hierynomus.smbj.auth.AuthenticationContext;
import com.hierynomus.smbj.connection.Connection;
import com.hierynomus.smbj.session.Session;

public class SecurityAuthenticationNTLM2 implements SecurityAuthentication {

public boolean validateUser(String username, String password,
Hashtable params) throws Exception {

SMBClient client = new SMBClient();

try (
Connection connection = client.connect((String) params.get("domain_controller"))) {
AuthenticationContext ac = new AuthenticationContext(username, password.toCharArray(), (String) params.get("domain"));
Session session = connection.authenticate(ac);

return true;
} catch(Exception se ) {
throw new Exception (se.getMessage());

Comment by Reeta Metta [ 05/Sep/19 ]
this is Ready to test
Generated at Sat Oct 23 15:40:53 UTC 2021 using JIRA 7.6.3#76005-sha1:8a4e38d34af948780dbf52044e7aafb13a7cae58.