From 6e3481850db665f9cafc9a554a748e3c9cbd50f5 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 26 Sep 2014 09:11:20 -0400 Subject: [PATCH] Allow authentication providers to control user and team role changes --- src/main/java/com/gitblit/auth/AuthenticationProvider.java | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gitblit/auth/AuthenticationProvider.java b/src/main/java/com/gitblit/auth/AuthenticationProvider.java index 29051df..da9a7af 100644 --- a/src/main/java/com/gitblit/auth/AuthenticationProvider.java +++ b/src/main/java/com/gitblit/auth/AuthenticationProvider.java @@ -21,6 +21,7 @@ import org.slf4j.LoggerFactory; import com.gitblit.Constants.AccountType; +import com.gitblit.Constants.Role; import com.gitblit.IStoredSettings; import com.gitblit.manager.IRuntimeManager; import com.gitblit.manager.IUserManager; @@ -138,6 +139,24 @@ */ public abstract boolean supportsTeamMembershipChanges(); + /** + * Returns true if the user's role can be changed. + * + * @param user + * @param role + * @return true if the user's role can be changed + */ + public abstract boolean supportsRoleChanges(UserModel user, Role role); + + /** + * Returns true if the team's role can be changed. + * + * @param user + * @param role + * @return true if the team's role can be changed + */ + public abstract boolean supportsRoleChanges(TeamModel team, Role role); + @Override public String toString() { return getServiceName() + " (" + getClass().getName() + ")"; @@ -199,5 +218,16 @@ public boolean supportsTeamMembershipChanges() { return true; } + + @Override + public boolean supportsRoleChanges(UserModel user, Role role) { + return true; + } + + @Override + public boolean supportsRoleChanges(TeamModel team, Role role) { + return true; + } + } } -- Gitblit v1.9.1