mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
CB-4683. Change delimiter for reverse proxy group (#2385)
* CB-4683. Change delimiter for reverse proxy group * CB-4683. Refactor after review. Added new parameter team delimiter for reverse proxy identity provider, --------- Co-authored-by: DenisSinelnikov <denis.sinelnikov@dbaever.com>
This commit is contained in:
co-authored by
DenisSinelnikov
parent
9c54fb10f1
commit
6d6ab69c52
+1
@@ -23,4 +23,5 @@ interface RPConstants {
|
||||
String PARAM_FIRST_NAME = "first-name-header";
|
||||
String PARAM_LAST_NAME = "last-name-header";
|
||||
String PARAM_ROLE_NAME = "role-header";
|
||||
String PARAM_TEAM_DELIMITER = "team-delimiter";
|
||||
}
|
||||
|
||||
+5
-1
@@ -33,6 +33,7 @@ import org.jkiss.code.NotNull;
|
||||
import org.jkiss.dbeaver.DBException;
|
||||
import org.jkiss.dbeaver.Log;
|
||||
import org.jkiss.dbeaver.model.auth.SMAuthInfo;
|
||||
import org.jkiss.dbeaver.model.data.json.JSONUtils;
|
||||
import org.jkiss.dbeaver.model.security.SMAuthProviderCustomConfiguration;
|
||||
import org.jkiss.dbeaver.model.security.SMConstants;
|
||||
import org.jkiss.dbeaver.model.security.SMController;
|
||||
@@ -50,6 +51,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
public class RPSessionHandler implements DBWSessionHandler {
|
||||
|
||||
private static final Log log = Log.getLog(RPSessionHandler.class);
|
||||
public static final String DEFAULT_TEAM_DELIMITER = "\\|";
|
||||
|
||||
@Override
|
||||
public boolean handleSessionOpen(WebSession webSession, HttpServletRequest request, HttpServletResponse response) throws DBException, IOException {
|
||||
@@ -95,7 +97,9 @@ public class RPSessionHandler implements DBWSessionHandler {
|
||||
String firstName = request.getHeader(resolveParam(paramConfigMap.get(RPConstants.PARAM_FIRST_NAME), RPAuthProvider.X_FIRST_NAME));
|
||||
String lastName = request.getHeader(resolveParam(paramConfigMap.get(RPConstants.PARAM_LAST_NAME), RPAuthProvider.X_LAST_NAME));
|
||||
String logoutUrl = Objects.requireNonNull(configuration).getParameter(RPConstants.PARAM_LOGOUT_URL);
|
||||
List<String> userTeams = teams == null ? Collections.emptyList() : List.of(teams.split("\\|"));
|
||||
String teamDelimiter = JSONUtils.getString(configuration.getParameters(),
|
||||
RPConstants.PARAM_TEAM_DELIMITER, "\\|");
|
||||
List<String> userTeams = teams == null ? Collections.emptyList() : List.of(teams.split(teamDelimiter));
|
||||
if (userName != null) {
|
||||
try {
|
||||
Map<String, Object> credentials = new HashMap<>();
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
<property id="logout-url" label="Logout url" type="string" description="Logout url"/>
|
||||
<property id="user-header" label="User header name" type="string" description="User header name"/>
|
||||
<property id="team-header" label="Team name" type="string" description="Team header name"/>
|
||||
<property id="team-delimiter" label="Team delimiter symbol" type="string" description="Team delimiter symbol, default: |"/>
|
||||
<property id="first-name-header" label="First name header" type="string" description="First name header name"/>
|
||||
<property id="last-name-header" label="Last name header" type="string" description="Last name header name"/>
|
||||
<property id="role-header" label="Role header" type="string" description="Role header name" features="distributed"/>
|
||||
|
||||
Reference in New Issue
Block a user