@Override protected AaaAuthentication featureValueOf(Aaa actual) { return actual.getAuthentication(); } }
private void processLines() { // nxos does not have 'login authentication' for lines, so just have it // use default list if one exists if (_vendor == ConfigurationFormat.CISCO_NX && _cf.getAaa() != null && _cf.getAaa().getAuthentication() != null && _cf.getAaa().getAuthentication().getLogin() != null && _cf.getAaa() .getAuthentication() .getLogin() .getLists() .get(AaaAuthenticationLogin.DEFAULT_LIST_NAME) != null) { for (Line line : _cf.getLines().values()) { line.setLoginAuthentication(AaaAuthenticationLogin.DEFAULT_LIST_NAME); } } }
@Override public void enterAaa_authentication_login(Aaa_authentication_loginContext ctx) { if (_configuration.getCf().getAaa().getAuthentication().getLogin() == null) { _configuration.getCf().getAaa().getAuthentication().setLogin(new AaaAuthenticationLogin()); } }
@Override public void exitAaa_authentication_login_privilege_mode( Aaa_authentication_login_privilege_modeContext ctx) { _configuration.getCf().getAaa().getAuthentication().getLogin().setPrivilegeMode(true); }
@Override public void enterAaa_authentication_asa(Aaa_authentication_asaContext ctx) { if (_configuration.getCf().getAaa().getAuthentication().getLogin() == null) { _configuration.getCf().getAaa().getAuthentication().setLogin(new AaaAuthenticationLogin()); } ArrayList<AuthenticationMethod> methods = new ArrayList<>(); if (ctx.aaa_authentication_asa_console().group != null) { methods.add(AuthenticationMethod.GROUP_USER_DEFINED); } if (ctx.aaa_authentication_asa_console().LOCAL_ASA() != null) { methods.add(AuthenticationMethod.LOCAL_CASE); } if (!methods.isEmpty()) { AaaAuthenticationLogin login = _configuration.getCf().getAaa().getAuthentication().getLogin(); String name = ctx.linetype.getText(); AaaAuthenticationLoginList authList = new AaaAuthenticationLoginList(methods); _configuration .getCf() .getLines() .computeIfAbsent(name, Line::new) .setAaaAuthenticationLoginList(authList); // not allowed to specify multiple login lists for a given linetype so use computeIfAbsent // rather than put so we only accept the first login list _currentAaaAuthenticationLoginList = login.getLists().computeIfAbsent(name, k -> authList); } }
@Override public void enterAaa_authentication(Aaa_authenticationContext ctx) { if (_configuration.getCf().getAaa().getAuthentication() == null) { _configuration.getCf().getAaa().setAuthentication(new AaaAuthentication()); } }
@Override public void enterAaa_authentication_login_list(Aaa_authentication_login_listContext ctx) { AaaAuthenticationLogin login = _configuration.getCf().getAaa().getAuthentication().getLogin(); String name; if (ctx.DEFAULT() != null) {
Aaa aaa = _cf.getAaa(); if (aaa != null) { AaaAuthentication authentication = aaa.getAuthentication(); if (authentication != null) { AaaAuthenticationLogin login = authentication.getLogin();