Signed-off-by: Maurice Qureshi <maquresh@cisco.com>
/*
* Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
*
/*
* Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
*
package org.opendaylight.controller.usermanager;
/**
package org.opendaylight.controller.usermanager;
/**
- * IAAAProvider exposes a pluggable interface for 3rd party Authentication and Authorization
- * providers to support the UserManager with AAA management.
+ * IAAAProvider exposes a pluggable interface for 3rd party Authentication and
+ * Authorization providers to support the UserManager with AAA management.
*/
public interface IAAAProvider {
/**
*/
public interface IAAAProvider {
/**
- * Authenticate user with AAA server and return authentication and authorization info
- * using the Provider's mechanism
+ * Authenticate user with AAA server and return authentication and
+ * authorization info using the Provider's mechanism
+ *
+ * AAA server ip address in string form
- * @return Authentication and Authorization Response
+ * shared secret between the AAA client and AAA server
+ * @return {@link org.opendaylight.controller.usermanager.AuthResponse}
+ * Authentication and Authorization Response
*/
public AuthResponse authService(String userName, String password,
String server, String secretKey);
/**
* Returns the Name of the Provider
*/
public AuthResponse authService(String userName, String password,
String server, String secretKey);
/**
* Returns the Name of the Provider
* @return Name of the AAA provider
*/
public String getName();
* @return Name of the AAA provider
*/
public String getName();
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSessionListener;
+/**
+ *
+ * This interface defines method(s) to invalidate a session.
+ */
public interface ISessionManager extends HttpSessionListener {
public interface ISessionManager extends HttpSessionListener {
+ /**
+ * Invalidates the session for a given user and a session Id
+ *
+ * @param username
+ * the username
+ * @param sessionId
+ * the session Id
+ */
public void invalidateSessions(String username, String sessionId);
}
public void invalidateSessions(String username, String sessionId);
}
/*
* Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
*
/*
* Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
*
/**
* Returns the list of roles associated to the passed user name
/**
* Returns the list of roles associated to the passed user name
* @param userName
* @return the role associated to the user name
*/
public List<String> getUserRoles(String userName);
/**
* @param userName
* @return the role associated to the user name
*/
public List<String> getUserRoles(String userName);
/**
- * Authenticate user with AAA server and return authentication and authorization info
- *
- * @param username the username
- * @param password the password
- * @return {@link org.opendaylight.controller.sal.authorization.AuthResultEnum authenticate result}
+ * Authenticate user with AAA server and return authentication and
+ * authorization info
+ *
+ * @param username
+ * the username
+ * @param password
+ * the password
+ * @return {@link org.opendaylight.controller.sal.authorization.AuthResultEnum}
+ * authentication result
*/
public AuthResultEnum authenticate(String username, String password);
/**
* Add/remove AAA server
*/
public AuthResultEnum authenticate(String username, String password);
/**
* Add/remove AAA server
- *
- * @param configObject refer to {@link org.opendaylight.controller.usermanager.internal.ServerConfig ServerConfig}
- * @return status code
+ *
+ * @param configObject
+ * {@link org.opendaylight.controller.usermanager.internal.ServerConfig}
+ * Server Configuration
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status addAAAServer(ServerConfig configObject);
/**
* Remove AAA server
*/
public Status addAAAServer(ServerConfig configObject);
/**
* Remove AAA server
- *
- * @param configObject refer to {@link org.opendaylight.controller.usermanager.internal.ServerConfig ServerConfig}
- * @return status code
+ *
+ * @param configObject
+ * refer to
+ * {@link org.opendaylight.controller.usermanager.internal.ServerConfig}
+ * Server Configuration
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status removeAAAServer(ServerConfig configObject);
/**
* Add a local user
*/
public Status removeAAAServer(ServerConfig configObject);
/**
* Add a local user
- *
- * @param configObject refer to {@link org.opendaylight.controller.usermanager.internal.UserConfig UserConfig}
- * @return status code
+ *
+ * @param configObject
+ * {@link org.opendaylight.controller.usermanager.internal.UserConfig}
+ * User Configuration
+ * @return refer to {@link org.opendaylight.controller.sal.utils.Status}
+ * status code
*/
public Status addLocalUser(UserConfig configObject);
/**
* Remove a local user
*/
public Status addLocalUser(UserConfig configObject);
/**
* Remove a local user
- *
- * @param configObject refer to {@link org.opendaylight.controller.usermanager.internal.UserConfig UserConfig}
- * @return status code
+ *
+ * @param configObject
+ * {@link org.opendaylight.controller.usermanager.internal.UserConfig}
+ * UserConfig
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status removeLocalUser(UserConfig configObject);
*/
public Status removeLocalUser(UserConfig configObject);
/**
* Remove a local user
*
/**
* Remove a local user
*
- * @param userName the user name
- * @return the status of this action
+ * @param userName
+ * the user name
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status removeLocalUser(String userName);
/**
*/
public Status removeLocalUser(String userName);
/**
- * Add the authorization information for a user that gets authenticated remotely
- *
+ * Add the authorization information for a user that gets authenticated
+ * remotely
+ *
+ * {@link org.opendaylight.controller.usermanager.internal.AuthorizationConfig}
+ * Authorization Resources
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status addAuthInfo(AuthorizationConfig AAAconf);
/**
*/
public Status addAuthInfo(AuthorizationConfig AAAconf);
/**
- * Remove the authorization information for a user that gets authenticated remotely
- *
+ * Remove the authorization information for a user that gets authenticated
+ * remotely
+ *
+ * {@link org.opendaylight.controller.usermanager.internal.AuthorizationConfig}
+ * Authorization Resource
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status removeAuthInfo(AuthorizationConfig AAAconf);
/**
* Return the list of authorization resources
*/
public Status removeAuthInfo(AuthorizationConfig AAAconf);
/**
* Return the list of authorization resources
+ *
+ * @return {@link org.opendaylight.controller.usermanager.internal.AuthorizationConfig}
+ * List of Authorization Resource
*/
public List<AuthorizationConfig> getAuthorizationList();
/**
* Returns a list of AAA Providers.
*/
public List<AuthorizationConfig> getAuthorizationList();
/**
* Returns a list of AAA Providers.
* @return Set of provider names.
*/
public Set<String> getAAAProviderNames();
/**
* @return Set of provider names.
*/
public Set<String> getAAAProviderNames();
/**
- * Change the current password for a configured user
- *
+ * Change the current password for a locally configured user
+ *
+ * the new password
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status changeLocalUserPassword(String user, String curPassword,
String newPassword);
/**
* Return a list of AAA servers currently configured
*/
public Status changeLocalUserPassword(String user, String curPassword,
String newPassword);
/**
* Return a list of AAA servers currently configured
- *
- * @return list of {@link org.opendaylight.controller.usermanager.internal.ServerConfig ServerConfig}
+ *
+ * @return {@link org.opendaylight.controller.usermanager.internal.ServerConfig}
+ * List of ServerConfig
*/
public List<ServerConfig> getAAAServerList();
/**
* Return a list of local users
*/
public List<ServerConfig> getAAAServerList();
/**
* Return a list of local users
- *
- * @return list of {@link org.opendaylight.controller.usermanager.internal.UserConfig UserConfig}
+ *
+ * @return {@link org.opendaylight.controller.usermanager.internal.UserConfig}
+ * List of UserConfig
*/
public List<UserConfig> getLocalUserList();
/**
*/
public List<UserConfig> getLocalUserList();
/**
- * Save the local users to local disk
- *
- * @return status code
+ * Save the local users to disk
+ *
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status saveLocalUserList();
/**
*/
public Status saveLocalUserList();
/**
- * Save the AAA server configurations to local disk
- *
- * @return status code
+ * Save the AAA server configurations to disk
+ *
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status of this action
*/
public Status saveAAAServerList();
/**
*/
public Status saveAAAServerList();
/**
- * Save the Authorization configurations to local disk
- *
- * @return status code
+ * Save the Authorization configurations to disk
+ *
+ * @return {@link org.opendaylight.controller.sal.utils.Status}
+ * status code
*/
public Status saveAuthorizationList();
/**
* Remove user profile when user logs out
*/
public Status saveAuthorizationList();
/**
* Remove user profile when user logs out
- *
- * @param username the user name
+ *
+ * @param username
+ * the user name
*/
public void userLogout(String username);
/**
* Remove user profile when user times out
*/
public void userLogout(String username);
/**
* Remove user profile when user times out
- *
- * @param username the user name
+ *
+ * @param username
+ * the user name
*/
public void userTimedOut(String username);
/**
* Get the list of users currently logged in
*/
public void userTimedOut(String username);
/**
* Get the list of users currently logged in
* @return the list of users along with their administrative roles
*/
public Map<String, List<String>> getUserLoggedIn();
/**
* Get date and time user was successfully authenticated
* @return the list of users along with their administrative roles
*/
public Map<String, List<String>> getUserLoggedIn();
/**
* Get date and time user was successfully authenticated
* @param user
* @return Date in String format
*/
public String getAccessDate(String user);
/**
* @param user
* @return Date in String format
*/
public String getAccessDate(String user);
/**
- * Returns the user level for the passed user name
- * It check the roles assigned to this user and checks
- * against the well known Controller user roles to
- * determines the highest user level associated with
- * the user
- *
- * @param userName the user name
- * @return the highest user level for this user
+ * Returns the user level for the passed user name. It checks the roles
+ * assigned to this user and checks against the well known Controller user
+ * roles to determines the highest user level associated with the user
+ *
+ * @param userName
+ * the user name
+ * @return {@link org.opendaylight.controller.sal.authorization.UserLevel}
+ * the highest user level for this user
*/
public UserLevel getUserLevel(String userName);
*/
public UserLevel getUserLevel(String userName);
- // For internal use. Place holder to move securityContext storage.
+ /**
+ * Returns the Security Context
+ *
+ * @returns {@link org.springframework.security.web.context.SecurityContextRepository}
+ * Security Context
+ */
public SecurityContextRepository getSecurityContextRepo();
public SecurityContextRepository getSecurityContextRepo();
- // Session manager to implement session mgmt across web-apps
+ /**
+ * Returns the Session Manager Interface Handler
+ *
+ * @return {@link org.opendaylight.controller.usermanager.ISessionManager}
+ * session manager interface handler
+ */
public ISessionManager getSessionManager();
public ISessionManager getSessionManager();
+
+ /* non-Javadoc
+ * Returns the password for a given user
+ *
+ * @param username
+ * the user name
+ * @return password for the username
+ */
public String getPassword(String username);
}
public String getPassword(String username);
}