You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2014/07/01 23:56:21 UTC
git commit: AMBARI-6347. Views : Admin - Update User Resources.
Repository: ambari
Updated Branches:
refs/heads/trunk 00a4991ee -> 97a5a9470
AMBARI-6347. Views : Admin - Update User Resources.
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/97a5a947
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/97a5a947
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/97a5a947
Branch: refs/heads/trunk
Commit: 97a5a947037821a5918e689994b35b0600cde5b4
Parents: 00a4991
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Tue Jul 1 14:55:37 2014 -0700
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Tue Jul 1 14:55:37 2014 -0700
----------------------------------------------------------------------
.../ambari/server/api/services/UserService.java | 88 +++++++++++---------
.../AmbariManagementControllerImpl.java | 11 ++-
.../ambari/server/controller/UserRequest.java | 9 ++
.../ambari/server/controller/UserResponse.java | 7 +-
.../internal/UserResourceProvider.java | 8 ++
.../ambari/server/orm/entities/UserEntity.java | 17 ++++
.../server/security/authorization/User.java | 6 ++
.../server/security/authorization/Users.java | 14 ++++
.../main/resources/Ambari-DDL-MySQL-CREATE.sql | 2 +-
.../main/resources/Ambari-DDL-Oracle-CREATE.sql | 2 +-
.../resources/Ambari-DDL-Postgres-CREATE.sql | 2 +-
.../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql | 2 +-
.../src/main/resources/properties.json | 1 +
.../internal/UserResourceProviderTest.java | 2 +-
14 files changed, 125 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
index c0a4976..1855978 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
@@ -48,12 +48,12 @@ public class UserService extends BaseService {
@Produces("text/plain")
public Response getUsers(@Context HttpHeaders headers, @Context UriInfo ui) {
return handleRequest(headers, null, ui, Request.Type.GET, createUserResource(null));
- }
+ }
/**
* Gets a single user.
* Handles: GET /users/{username} requests
- *
+ *
* @param headers http headers
* @param ui uri info
* @param userName the username
@@ -66,55 +66,67 @@ public class UserService extends BaseService {
@PathParam("userName") String userName) {
return handleRequest(headers, null, ui, Request.Type.GET, createUserResource(userName));
}
-
+
/**
* Creates a user.
- * Handles: POST /users/{userName}
+ * Handles: POST /users
*
* @param headers http headers
* @param ui uri info
- * @param userName the username
* @return information regarding the created user
*/
- @POST
- @Path("{userName}")
- @Produces("text/plain")
- public Response createUser(String body, @Context HttpHeaders headers, @Context UriInfo ui,
- @PathParam("userName") String userName) {
+ @POST
+ @Produces("text/plain")
+ public Response createUser(String body, @Context HttpHeaders headers, @Context UriInfo ui) {
+ return handleRequest(headers, body, ui, Request.Type.POST, createUserResource(null));
+ }
+ /**
+ * Creates a user.
+ * Handles: POST /users/{username}
+ *
+ * @param headers http headers
+ * @param ui uri info
+ * @param userName the username
+ * @return information regarding the created user
+ */
+ @POST
+ @Path("{userName}")
+ @Produces("text/plain")
+ public Response createUser(String body, @Context HttpHeaders headers, @Context UriInfo ui,
+ @PathParam("userName") String userName) {
return handleRequest(headers, body, ui, Request.Type.POST, createUserResource(userName));
}
-
-
- /**
- * Updates a specific user.
- * Handles: PUT /users/{userName}
- *
- * @param headers http headers
- * @param ui uri info
- * @param userName the username
- * @return information regarding the updated user
- */
- @PUT
- @Path("{userName}")
- @Produces("text/plain")
- public Response updateUser(String body, @Context HttpHeaders headers, @Context UriInfo ui,
+
+ /**
+ * Updates a specific user.
+ * Handles: PUT /users/{userName}
+ *
+ * @param headers http headers
+ * @param ui uri info
+ * @param userName the username
+ * @return information regarding the updated user
+ */
+ @PUT
+ @Path("{userName}")
+ @Produces("text/plain")
+ public Response updateUser(String body, @Context HttpHeaders headers, @Context UriInfo ui,
@PathParam("userName") String userName) {
- return handleRequest(headers, body, ui, Request.Type.PUT, createUserResource(userName));
- }
-
- /**
- * Deletes a user.
- * Handles: DELETE /users/{userName}
- */
- @DELETE
- @Path("{userName}")
- @Produces("text/plain")
- public Response deleteUser(@Context HttpHeaders headers, @Context UriInfo ui,
+ return handleRequest(headers, body, ui, Request.Type.PUT, createUserResource(userName));
+ }
+
+ /**
+ * Deletes a user.
+ * Handles: DELETE /users/{userName}
+ */
+ @DELETE
+ @Path("{userName}")
+ @Produces("text/plain")
+ public Response deleteUser(@Context HttpHeaders headers, @Context UriInfo ui,
@PathParam("userName") String userName) {
- return handleRequest(headers, null, ui, Request.Type.DELETE, createUserResource(userName));
- }
+ return handleRequest(headers, null, ui, Request.Type.DELETE, createUserResource(userName));
+ }
/**
* Create a user resource instance.
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index e392a71..62146ad 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -659,6 +659,10 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
}
}
}
+
+ if (null != request.isActive() && null != user) {
+ users.setUserActive(user, request.isActive());
+ }
}
}
@@ -2212,6 +2216,9 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
users.addRoleToUser(u, role);
}
+ if (null != request.isActive()) {
+ users.setUserActive(u, request.isActive());
+ }
}
}
@@ -2512,7 +2519,7 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
// get them all
if (null == r.getUsername()) {
for (User u : users.getAllUsers()) {
- UserResponse resp = new UserResponse(u.getUserName(), u.isLdapUser());
+ UserResponse resp = new UserResponse(u.getUserName(), u.isLdapUser(), u.isActive());
resp.setRoles(new HashSet<String>(u.getRoles()));
responses.add(resp);
}
@@ -2527,7 +2534,7 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
+ r.getUsername() + "'");
}
} else {
- UserResponse resp = new UserResponse(u.getUserName(), u.isLdapUser());
+ UserResponse resp = new UserResponse(u.getUserName(), u.isLdapUser(), u.isActive());
resp.setRoles(new HashSet<String>(u.getRoles()));
responses.add(resp);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequest.java
index 3ef8495..bd9a9f9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequest.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequest.java
@@ -27,6 +27,7 @@ public class UserRequest {
private String userName;
private String password;
private String oldPassword;
+ private Boolean active;
private Set<String> roles = new HashSet<String>();
public UserRequest(String name) {
@@ -61,6 +62,14 @@ public class UserRequest {
oldPassword = oldUserPass;
}
+ public Boolean isActive() {
+ return active;
+ }
+
+ public void setActive(Boolean active) {
+ this.active = active;
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/java/org/apache/ambari/server/controller/UserResponse.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/UserResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/UserResponse.java
index 4bf3a48..a5c13d2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/UserResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/UserResponse.java
@@ -28,10 +28,12 @@ public class UserResponse {
private Set<String> roles = Collections.emptySet();
private final String userName;
private final boolean isLdapUser;
+ private final boolean isActive;
- public UserResponse(String name, boolean isLdapUser) {
+ public UserResponse(String name, boolean isLdapUser, boolean isActive) {
this.userName = name;
this.isLdapUser = isLdapUser;
+ this.isActive = isActive;
}
public String getUsername() {
@@ -74,4 +76,7 @@ public class UserResponse {
return isLdapUser;
}
+ public boolean isActive() {
+ return isActive;
+ }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
index 17fdcfd..3c0a7cc 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
@@ -43,6 +43,7 @@ class UserResourceProvider extends AbstractControllerResourceProvider {
protected static final String USER_PASSWORD_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "password");
protected static final String USER_OLD_PASSWORD_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "old_password");
protected static final String USER_LDAP_USER_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "ldap_user");
+ protected static final String USER_ACTIVE_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "active");
private static Set<String> pkPropertyIds =
new HashSet<String>(Arrays.asList(new String[]{
@@ -121,6 +122,9 @@ class UserResourceProvider extends AbstractControllerResourceProvider {
setResourceProperty(resource, USER_LDAP_USER_PROPERTY_ID,
userResponse.isLdapUser(), requestedIds);
+ setResourceProperty(resource, USER_ACTIVE_PROPERTY_ID,
+ userResponse.isActive(), requestedIds);
+
resources.add(resource);
}
@@ -195,6 +199,10 @@ class UserResourceProvider extends AbstractControllerResourceProvider {
request.setRoles(roles);
}
+ if (null != properties.get(USER_ACTIVE_PROPERTY_ID)) {
+ request.setActive(Boolean.valueOf(properties.get(USER_ACTIVE_PROPERTY_ID).toString()));
+ }
+
return request;
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java
index 14ad304..1d38a4a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UserEntity.java
@@ -56,6 +56,9 @@ public class UserEntity {
@Temporal(value = TemporalType.TIMESTAMP)
private Date createTime = new Date();
+ @Column(name = "active")
+ private Integer active = 1;
+
@ManyToMany(mappedBy = "userEntities")
private Set<RoleEntity> roleEntities;
@@ -122,6 +125,18 @@ public class UserEntity {
this.memberEntities = memberEntities;
}
+ public Boolean getActive() {
+ return active == 0 ? Boolean.FALSE : Boolean.TRUE;
+ }
+
+ public void setActive(Boolean active) {
+ if (active == null) {
+ this.active = null;
+ } else {
+ this.active = active ? 1 : 0;
+ }
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -134,6 +149,7 @@ public class UserEntity {
if (ldapUser != null ? !ldapUser.equals(that.ldapUser) : that.ldapUser != null) return false;
if (userName != null ? !userName.equals(that.userName) : that.userName != null) return false;
if (userPassword != null ? !userPassword.equals(that.userPassword) : that.userPassword != null) return false;
+ if (active != null ? !active.equals(that.active) : that.active != null) return false;
return true;
}
@@ -145,6 +161,7 @@ public class UserEntity {
result = 31 * result + (userPassword != null ? userPassword.hashCode() : 0);
result = 31 * result + (ldapUser != null ? ldapUser.hashCode() : 0);
result = 31 * result + (createTime != null ? createTime.hashCode() : 0);
+ result = 31 * result + (active != null ? active.hashCode() : 0);
return result;
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/User.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/User.java b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/User.java
index 6693a8a..f9f8e21 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/User.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/User.java
@@ -32,6 +32,7 @@ public class User {
final String userName;
final boolean ldapUser;
final Date createTime;
+ final boolean active;
final Collection<String> roles = new ArrayList<String>();
User(UserEntity userEntity) {
@@ -39,6 +40,7 @@ public class User {
userName = userEntity.getUserName();
createTime = userEntity.getCreateTime();
ldapUser = userEntity.getLdapUser();
+ active = userEntity.getActive();
for (RoleEntity roleEntity : userEntity.getRoleEntities()) {
roles.add(roleEntity.getRoleName());
}
@@ -60,6 +62,10 @@ public class User {
return createTime;
}
+ public boolean isActive() {
+ return active;
+ }
+
public Collection<String> getRoles() {
return roles;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/Users.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/Users.java b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/Users.java
index 072d3de..a94adaf 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/Users.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/Users.java
@@ -163,6 +163,20 @@ public class Users {
}
/**
+ * Enables/disables user.
+ * @throws AmbariException
+ */
+ public synchronized void setUserActive(User user, boolean active) throws AmbariException {
+ UserEntity userEntity = userDAO.findByPK(user.getUserId());
+ if (userEntity != null) {
+ userEntity.setActive(active);
+ userDAO.merge(userEntity);
+ } else {
+ throw new AmbariException("User " + user + " doesn't exist");
+ }
+ }
+
+ /**
* Creates new local user with provided userName and password
*/
@Transactional
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index 4821e91..c1bc0cc 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -37,7 +37,7 @@ CREATE TABLE hoststate (agent_version VARCHAR(255) NOT NULL, available_mem BIGIN
CREATE TABLE servicecomponentdesiredstate (component_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, desired_stack_version VARCHAR(255) NOT NULL, desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, PRIMARY KEY (component_name, cluster_id, service_name));
CREATE TABLE servicedesiredstate (cluster_id BIGINT NOT NULL, desired_host_role_mapping INTEGER NOT NULL, desired_stack_version VARCHAR(255) NOT NULL, desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, maintenance_state VARCHAR(32) NOT NULL DEFAULT 'ACTIVE', PRIMARY KEY (cluster_id, service_name));
CREATE TABLE roles (role_name VARCHAR(255) NOT NULL, PRIMARY KEY (role_name));
-CREATE TABLE users (user_id INTEGER, create_time TIMESTAMP DEFAULT NOW(), ldap_user INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL, user_password VARCHAR(255), PRIMARY KEY (user_id));
+CREATE TABLE users (user_id INTEGER, create_time TIMESTAMP DEFAULT NOW(), ldap_user INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL, user_password VARCHAR(255), active INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (user_id));
CREATE TABLE groups (group_id INTEGER, group_name VARCHAR(255) NOT NULL, ldap_group INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (group_id));
CREATE TABLE members (member_id INTEGER, group_id INTEGER NOT NULL, user_id INTEGER NOT NULL, PRIMARY KEY (member_id));
CREATE TABLE execution_command (task_id BIGINT NOT NULL, command LONGBLOB, PRIMARY KEY (task_id));
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
index be2477b..fe480d2 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -27,7 +27,7 @@ CREATE TABLE hoststate (agent_version VARCHAR2(255) NULL, available_mem NUMBER(1
CREATE TABLE servicecomponentdesiredstate (component_name VARCHAR2(255) NOT NULL, cluster_id NUMBER(19) NOT NULL, desired_stack_version VARCHAR2(255) NULL, desired_state VARCHAR2(255) NOT NULL, service_name VARCHAR2(255) NOT NULL, PRIMARY KEY (component_name, cluster_id, service_name));
CREATE TABLE servicedesiredstate (cluster_id NUMBER(19) NOT NULL, desired_host_role_mapping NUMBER(10) NOT NULL, desired_stack_version VARCHAR2(255) NULL, desired_state VARCHAR2(255) NOT NULL, service_name VARCHAR2(255) NOT NULL, maintenance_state VARCHAR2(32) NOT NULL, PRIMARY KEY (cluster_id, service_name));
CREATE TABLE roles (role_name VARCHAR2(255) NOT NULL, PRIMARY KEY (role_name));
-CREATE TABLE users (user_id NUMBER(10) NOT NULL, create_time TIMESTAMP NULL, ldap_user NUMBER(10) DEFAULT 0, user_name VARCHAR2(255) NULL, user_password VARCHAR2(255) NULL, PRIMARY KEY (user_id));
+CREATE TABLE users (user_id NUMBER(10) NOT NULL, create_time TIMESTAMP NULL, ldap_user NUMBER(10) DEFAULT 0, user_name VARCHAR2(255) NULL, user_password VARCHAR2(255) NULL, active INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (user_id));
CREATE TABLE groups (group_id NUMBER(10) NOT NULL, group_name VARCHAR2(255) NOT NULL, ldap_group NUMBER(10) DEFAULT 0, PRIMARY KEY (group_id));
CREATE TABLE members (member_id NUMBER(10), group_id NUMBER(10) NOT NULL, user_id NUMBER(10) NOT NULL, PRIMARY KEY (member_id));
CREATE TABLE execution_command (task_id NUMBER(19) NOT NULL, command BLOB NULL, PRIMARY KEY (task_id));
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index d964d01..7d3f9c9 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -41,7 +41,7 @@ CREATE TABLE servicedesiredstate (cluster_id BIGINT NOT NULL, desired_host_role_
CREATE TABLE roles (role_name VARCHAR(255) NOT NULL, PRIMARY KEY (role_name));
-CREATE TABLE users (user_id INTEGER, ldap_user INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL, create_time TIMESTAMP DEFAULT NOW(), user_password VARCHAR(255), PRIMARY KEY (user_id), UNIQUE (ldap_user, user_name));
+CREATE TABLE users (user_id INTEGER, ldap_user INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL, create_time TIMESTAMP DEFAULT NOW(), user_password VARCHAR(255), PRIMARY KEY (user_id), active INTEGER NOT NULL DEFAULT 1, UNIQUE (ldap_user, user_name));
CREATE TABLE groups (group_id INTEGER, group_name VARCHAR(255) NOT NULL, ldap_group INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (group_id), UNIQUE (ldap_group, group_name));
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
index 63f0957..1b95476 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql
@@ -64,7 +64,7 @@ GRANT ALL PRIVILEGES ON TABLE ambari.servicedesiredstate TO :username;
CREATE TABLE ambari.roles (role_name VARCHAR(255) NOT NULL, PRIMARY KEY (role_name));
GRANT ALL PRIVILEGES ON TABLE ambari.roles TO :username;
-CREATE TABLE ambari.users (user_id INTEGER, ldap_user INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL, create_time TIMESTAMP DEFAULT NOW(), user_password VARCHAR(255), PRIMARY KEY (user_id), UNIQUE (ldap_user, user_name));
+CREATE TABLE ambari.users (user_id INTEGER, ldap_user INTEGER NOT NULL DEFAULT 0, user_name VARCHAR(255) NOT NULL, create_time TIMESTAMP DEFAULT NOW(), user_password VARCHAR(255), active INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (user_id), UNIQUE (ldap_user, user_name));
GRANT ALL PRIVILEGES ON TABLE ambari.users TO :username;
CREATE TABLE ambari.groups (group_id INTEGER, group_name VARCHAR(255) NOT NULL, ldap_group INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (group_id), UNIQUE (ldap_group, group_name));
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
index 79be0e1..eb364fb 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -160,6 +160,7 @@
"Users/password",
"Users/old_password",
"Users/ldap_user",
+ "Users/active",
"_"
],
"Group":[
http://git-wip-us.apache.org/repos/asf/ambari/blob/97a5a947/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
index cfb2e3f..3c1be40 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
@@ -92,7 +92,7 @@ public class UserResourceProviderTest {
AmbariManagementController managementController = createMock(AmbariManagementController.class);
Set<UserResponse> allResponse = new HashSet<UserResponse>();
- allResponse.add(new UserResponse("User100", false));
+ allResponse.add(new UserResponse("User100", false, true));
// set expectations
expect(managementController.getUsers(AbstractResourceProviderTest.Matcher.getUserRequestSet("User100"))).