User manager to properly handle authenticated users with no authorization
[controller.git] / opendaylight / usermanager / src / main / java / org / opendaylight / controller / usermanager / internal / UserManagerImpl.java
index 1b9c749163ab02bbea1e6f2c676d62770b7eae54..31c773da8a57d7aed083dee5aad094b52ced4b59 100644 (file)
@@ -275,14 +275,14 @@ public class UserManagerImpl implements IUserManager, IObjectReader,
                     break;
                 } else if (rcResponse.getStatus() == AuthResultEnum.AUTH_REJECT) {
                     logger.info(
-                            "Remote Authentication Rejected User: \"{}\", from Server: {}, Reason: "
-                                    + rcResponse.getStatus().toString(),
-                            userName, aaaServer.getAddress());
+                            "Remote Authentication Rejected User: \"{}\", from Server: {}, Reason:{}",
+                            new Object[] {userName, aaaServer.getAddress(),
+                            rcResponse.getStatus().toString()});
                 } else {
                     logger.info(
-                            "Remote Authentication Failed for User: \"{}\", from Server: {}, Reason: "
-                                    + rcResponse.getStatus().toString(),
-                            userName, aaaServer.getAddress());
+                            "Remote Authentication Failed for User: \"{}\", from Server: {}, Reason:{}",
+                            new Object[] {userName, aaaServer.getAddress(),
+                            rcResponse.getStatus().toString()});
                 }
             }
         }
@@ -367,8 +367,8 @@ public class UserManagerImpl implements IUserManager, IObjectReader,
          */
         putUserInActiveList(userName, result);
         if (authorized) {
-            logger.info("User \"{}\" authorized for the following role(s): "
-                    + result.getUserRoles(), userName);
+            logger.info("User \"{}\" authorized for the following role(s): {}",
+                        userName, result.getUserRoles());
         } else {
             logger.info("User \"{}\" Not Authorized for any role ", userName);
         }
@@ -761,7 +761,6 @@ public class UserManagerImpl implements IUserManager, IObjectReader,
 
     public void _printAAAServers(CommandInterpreter ci) {
         for (ServerConfig aaaServer : remoteServerConfigList.values()) {
-            String protocol = aaaServer.getProtocol();
             ci.println(aaaServer.getAddress() + "-" + aaaServer.getProtocol());
         }
     }
@@ -867,9 +866,11 @@ public class UserManagerImpl implements IUserManager, IObjectReader,
 
         // First check in active users then in local configured users
         if (activeUsers.containsKey(username)) {
-            roleName = activeUsers.get(username).getUserRoles().get(0);
+            List<String> roles = activeUsers.get(username).getUserRoles();
+            roleName = (roles == null || roles.isEmpty())? null : roles.get(0);
         } else if (localUserConfigList.containsKey(username)) {
-            roleName = localUserConfigList.get(username).getRole();
+            UserConfig config = localUserConfigList.get(username);
+            roleName = (config == null)? null : config.getRole();
         }
 
         if (roleName == null) {