Browse Source

fix #2484 check admin roles

Shinsuke Sugaya 4 years ago
parent
commit
d29148d6b8

+ 5 - 1
src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java

@@ -129,7 +129,11 @@ public abstract class FessSearchAction extends FessBaseAction {
         final String username = systemHelper.getUsername();
         final String username = systemHelper.getUsername();
         runtime.registerData("username", username);
         runtime.registerData("username", username);
         runtime.registerData("editableUser", fessLoginAssist.getSavedUserBean().map(FessUserBean::isEditable).orElse(false));
         runtime.registerData("editableUser", fessLoginAssist.getSavedUserBean().map(FessUserBean::isEditable).orElse(false));
-        runtime.registerData("adminUser", fessConfig.isAdminUser(username));
+        runtime.registerData(
+                "adminUser",
+                fessConfig.isAdminUser(username)
+                        || fessLoginAssist.getSavedUserBean().map(user -> user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray()))
+                                .orElse(false));
 
 
         runtime.registerData("pageLoginLink", fessConfig.isLoginLinkEnabled());
         runtime.registerData("pageLoginLink", fessConfig.isLoginLinkEnabled());
     }
     }