X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fplugins%2Forg.argeo.security.ui.admin%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Feditors%2FArgeoUserEditor.java;h=87b241867ddd1510f34c17f3854085c7892f6a88;hb=4d665b0700136573b05879aa19897d8f448d8ca4;hp=b511e683c5242cea0188f71e2988089791ddc740;hpb=fb4f7c451ea7d9025f7cf7fe032020f229df794a;p=lgpl%2Fargeo-commons.git diff --git a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/editors/ArgeoUserEditor.java b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/editors/ArgeoUserEditor.java index b511e683c..87b241867 100644 --- a/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/editors/ArgeoUserEditor.java +++ b/security/plugins/org.argeo.security.ui.admin/src/main/java/org/argeo/security/ui/admin/editors/ArgeoUserEditor.java @@ -1,6 +1,7 @@ package org.argeo.security.ui.admin.editors; import javax.jcr.Node; +import javax.jcr.RepositoryException; import javax.jcr.Session; import org.argeo.ArgeoException; @@ -16,6 +17,7 @@ import org.eclipse.ui.IEditorSite; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.PartInitException; import org.eclipse.ui.forms.editor.FormEditor; +import org.springframework.security.GrantedAuthority; /** Editor for an Argeo user. */ public class ArgeoUserEditor extends FormEditor { @@ -33,8 +35,18 @@ public class ArgeoUserEditor extends FormEditor { .getUsername(); userHome = JcrUtils.getUserHome(session, username); - userDetails = (JcrUserDetails) userAdminService - .loadUserByUsername(username); + if (userAdminService.userExists(username)) { + userDetails = (JcrUserDetails) userAdminService + .loadUserByUsername(username); + } else { + GrantedAuthority[] authorities = {}; + try { + userDetails = new JcrUserDetails(session, username, null, + authorities); + } catch (RepositoryException e) { + throw new ArgeoException("Cannot retrieve disabled JCR profile"); + } + } this.setPartProperty("name", username != null ? username : ""); setPartName(username != null ? username : "");