瀏覽代碼

enh-domainadmin

Jason Rivard 3 年之前
父節點
當前提交
27f8a2a047
共有 19 個文件被更改,包括 112 次插入35 次删除
  1. 1 1
      server/src/main/java/password/pwm/http/JspUrl.java
  2. 6 6
      server/src/main/java/password/pwm/http/servlet/PwmServletDefinition.java
  3. 1 2
      server/src/main/java/password/pwm/http/servlet/admin/SystemAdminServlet.java
  4. 1 1
      server/src/main/java/password/pwm/http/servlet/admin/system/ConfigManagerLocalDBServlet.java
  5. 1 1
      server/src/main/java/password/pwm/http/servlet/admin/system/ConfigManagerLoginServlet.java
  6. 1 1
      server/src/main/java/password/pwm/http/servlet/admin/system/ConfigManagerServlet.java
  7. 1 1
      server/src/main/java/password/pwm/http/servlet/admin/system/ConfigManagerWordlistServlet.java
  8. 6 6
      server/src/main/java/password/pwm/http/servlet/admin/system/SystemAdminCertificatesServlet.java
  9. 1 1
      server/src/main/java/password/pwm/http/servlet/configeditor/ConfigEditorServlet.java
  10. 1 1
      server/src/main/java/password/pwm/svc/event/AuditService.java
  11. 3 4
      server/src/main/java/password/pwm/svc/pwnotify/PwNotifyEngine.java
  12. 2 3
      server/src/main/java/password/pwm/svc/report/ReportService.java
  13. 4 2
      server/src/main/java/password/pwm/util/DailySummaryJob.java
  14. 1 0
      server/src/main/resources/password/pwm/i18n/Admin.properties
  15. 1 1
      webapp/src/main/webapp/WEB-INF/jsp/admin-system-certificates.jsp
  16. 2 2
      webapp/src/main/webapp/WEB-INF/jsp/configmanager-login.jsp
  17. 1 1
      webapp/src/main/webapp/WEB-INF/jsp/configmanager-permissions.jsp
  18. 1 1
      webapp/src/main/webapp/WEB-INF/jsp/fragment/configmanager-nav.jsp
  19. 77 0
      webapp/src/main/webapp/private/admin/system/index.jsp

+ 1 - 1
server/src/main/java/password/pwm/http/JspUrl.java

@@ -96,7 +96,7 @@ public enum JspUrl
     CONFIG_MANAGER_PERMISSIONS( "configmanager-permissions.jsp" ),
     CONFIG_MANAGER_MODE_CONFIGURATION( "configmanager.jsp" ),
     CONFIG_MANAGER_WORDLISTS( "configmanager-wordlists.jsp" ),
-    CONFIG_MANAGER_CERTIFICATES( "configmanager-certificates.jsp" ),
+    ADMIN_SYSTEM_CERTIFICATES( "admin-system-certificates.jsp" ),
     CONFIG_MANAGER_LOCALDB( "configmanager-localdb.jsp" ),
     CONFIG_MANAGER_LOGIN( "configmanager-login.jsp" ),
     HELPDESK_SEARCH( "helpdesk.jsp" ),

+ 6 - 6
server/src/main/java/password/pwm/http/servlet/PwmServletDefinition.java

@@ -50,11 +50,11 @@ import password.pwm.http.servlet.command.PrivateCommandServlet;
 import password.pwm.http.servlet.command.PublicCommandServlet;
 import password.pwm.http.servlet.configeditor.ConfigEditorServlet;
 import password.pwm.http.servlet.configguide.ConfigGuideServlet;
-import password.pwm.http.servlet.configmanager.ConfigManagerCertificatesServlet;
-import password.pwm.http.servlet.configmanager.ConfigManagerLocalDBServlet;
-import password.pwm.http.servlet.configmanager.ConfigManagerLoginServlet;
-import password.pwm.http.servlet.configmanager.ConfigManagerServlet;
-import password.pwm.http.servlet.configmanager.ConfigManagerWordlistServlet;
+import password.pwm.http.servlet.admin.system.SystemAdminCertificatesServlet;
+import password.pwm.http.servlet.admin.system.ConfigManagerLocalDBServlet;
+import password.pwm.http.servlet.admin.system.ConfigManagerLoginServlet;
+import password.pwm.http.servlet.admin.system.ConfigManagerServlet;
+import password.pwm.http.servlet.admin.system.ConfigManagerWordlistServlet;
 import password.pwm.http.servlet.newuser.NewUserServlet;
 import password.pwm.http.servlet.oauth.OAuthConsumerServlet;
 import password.pwm.http.servlet.peoplesearch.PrivatePeopleSearchServlet;
@@ -105,7 +105,7 @@ public enum PwmServletDefinition
     ConfigManager_Login( ConfigManagerLoginServlet.class, ConfigManagerBean.class ),
     ConfigManager_Wordlists( ConfigManagerWordlistServlet.class, ConfigManagerBean.class, Flag.RequiresConfigAuth ),
     ConfigManager_LocalDB( ConfigManagerLocalDBServlet.class, ConfigManagerBean.class, Flag.RequiresConfigAuth ),
-    ConfigManager_Certificates( ConfigManagerCertificatesServlet.class, ConfigManagerBean.class, Flag.RequiresConfigAuth ),
+    SystemAdmin_Certificates( SystemAdminCertificatesServlet.class, ConfigManagerBean.class, Flag.RequiresConfigAuth ),
     FullPageHealth( FullPageHealthServlet.class, null ),
 
     NewUser( NewUserServlet.class, NewUserBean.class ),

+ 1 - 2
server/src/main/java/password/pwm/http/servlet/admin/SystemAdminServlet.java

@@ -97,8 +97,7 @@ import java.util.zip.ZipOutputStream;
 @WebServlet(
         name = "SystemAdminServlet",
         urlPatterns = {
-                PwmConstants.URL_PREFIX_PRIVATE + "/admin/system",
-                PwmConstants.URL_PREFIX_PRIVATE + "/admin/system/*",
+                PwmConstants.URL_PREFIX_PRIVATE + "/admin/system/dashboard",
                 PwmConstants.URL_PREFIX_PRIVATE + "/admin/system/Administration",
         }
 )

+ 1 - 1
server/src/main/java/password/pwm/http/servlet/configmanager/ConfigManagerLocalDBServlet.java → server/src/main/java/password/pwm/http/servlet/admin/system/ConfigManagerLocalDBServlet.java

@@ -18,7 +18,7 @@
  * limitations under the License.
  */
 
-package password.pwm.http.servlet.configmanager;
+package password.pwm.http.servlet.admin.system;
 
 import org.apache.commons.fileupload.servlet.ServletFileUpload;
 import password.pwm.AppProperty;

+ 1 - 1
server/src/main/java/password/pwm/http/servlet/configmanager/ConfigManagerLoginServlet.java → server/src/main/java/password/pwm/http/servlet/admin/system/ConfigManagerLoginServlet.java

@@ -18,7 +18,7 @@
  * limitations under the License.
  */
 
-package password.pwm.http.servlet.configmanager;
+package password.pwm.http.servlet.admin.system;
 
 import com.google.gson.annotations.SerializedName;
 import com.novell.ldapchai.exception.ChaiUnavailableException;

+ 1 - 1
server/src/main/java/password/pwm/http/servlet/configmanager/ConfigManagerServlet.java → server/src/main/java/password/pwm/http/servlet/admin/system/ConfigManagerServlet.java

@@ -18,7 +18,7 @@
  * limitations under the License.
  */
 
-package password.pwm.http.servlet.configmanager;
+package password.pwm.http.servlet.admin.system;
 
 import com.novell.ldapchai.exception.ChaiUnavailableException;
 import org.apache.commons.csv.CSVPrinter;

+ 1 - 1
server/src/main/java/password/pwm/http/servlet/configmanager/ConfigManagerWordlistServlet.java → server/src/main/java/password/pwm/http/servlet/admin/system/ConfigManagerWordlistServlet.java

@@ -18,7 +18,7 @@
  * limitations under the License.
  */
 
-package password.pwm.http.servlet.configmanager;
+package password.pwm.http.servlet.admin.system;
 
 import lombok.Builder;
 import lombok.Value;

+ 6 - 6
server/src/main/java/password/pwm/http/servlet/configmanager/ConfigManagerCertificatesServlet.java → server/src/main/java/password/pwm/http/servlet/admin/system/SystemAdminCertificatesServlet.java

@@ -18,7 +18,7 @@
  * limitations under the License.
  */
 
-package password.pwm.http.servlet.configmanager;
+package password.pwm.http.servlet.admin.system;
 
 import lombok.Builder;
 import lombok.Value;
@@ -58,14 +58,14 @@ import java.util.Optional;
 import java.util.stream.Collectors;
 
 @WebServlet(
-        name = "ConfigManagerCertificateServlet",
+        name = "SystemAdminCertificateServlet",
         urlPatterns = {
-                PwmConstants.URL_PREFIX_PRIVATE + "/config/manager/certificates",
+                PwmConstants.URL_PREFIX_PRIVATE + "/admin/system/certificates",
         }
 )
-public class ConfigManagerCertificatesServlet extends AbstractPwmServlet
+public class SystemAdminCertificatesServlet extends AbstractPwmServlet
 {
-    private static final PwmLogger LOGGER = PwmLogger.forClass( ConfigManagerCertificatesServlet.class );
+    private static final PwmLogger LOGGER = PwmLogger.forClass( SystemAdminCertificatesServlet.class );
 
     public enum ConfigManagerCertificateAction implements AbstractPwmServlet.ProcessAction
     {
@@ -108,7 +108,7 @@ public class ConfigManagerCertificatesServlet extends AbstractPwmServlet
             return;
         }
         pwmRequest.setAttribute( PwmRequestAttribute.ConfigHasCertificates, !certificateDebugDataItems.isEmpty() );
-        pwmRequest.forwardToJsp( JspUrl.CONFIG_MANAGER_CERTIFICATES );
+        pwmRequest.forwardToJsp( JspUrl.ADMIN_SYSTEM_CERTIFICATES );
     }
 
     List<CertificateDebugDataItem> makeCertificateDebugData( final DomainConfig domainConfig ) throws PwmUnrecoverableException

+ 1 - 1
server/src/main/java/password/pwm/http/servlet/configeditor/ConfigEditorServlet.java

@@ -69,7 +69,7 @@ import password.pwm.http.servlet.configeditor.data.NavTreeSettings;
 import password.pwm.http.servlet.configeditor.data.SettingData;
 import password.pwm.http.servlet.configeditor.data.SettingDataMaker;
 import password.pwm.http.servlet.configeditor.function.SettingUIFunction;
-import password.pwm.http.servlet.configmanager.ConfigManagerServlet;
+import password.pwm.http.servlet.admin.system.ConfigManagerServlet;
 import password.pwm.i18n.Config;
 import password.pwm.i18n.Message;
 import password.pwm.i18n.PwmLocaleBundle;

+ 1 - 1
server/src/main/java/password/pwm/svc/event/AuditService.java

@@ -73,7 +73,7 @@ public class AuditService extends AbstractPwmService implements PwmService
     private SyslogAuditService syslogManager;
     private ErrorInformation lastError;
     private AuditVault auditVault;
-    private final StatisticCounterBundle<DebugKey> statisticCounterBundle = new StatisticCounterBundle( DebugKey.class );
+    private final StatisticCounterBundle<DebugKey> statisticCounterBundle = new StatisticCounterBundle<>( DebugKey.class );
 
     enum DebugKey
     {

+ 3 - 4
server/src/main/java/password/pwm/svc/pwnotify/PwNotifyEngine.java

@@ -52,7 +52,6 @@ import java.io.Writer;
 import java.time.Duration;
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Optional;
@@ -154,7 +153,7 @@ public class PwNotifyEngine
             }
 
             log( "starting job, beginning ldap search" );
-            final Iterator<UserIdentity> workQueue = UserPermissionUtility.discoverMatchingUsers(
+            final List<UserIdentity> matchingUsers = UserPermissionUtility.discoverMatchingUsers(
                     pwmDomain,
                     permissionList, pwNotifyService.getSessionLabel(), settings.getMaxLdapSearchSize(),
                     settings.getSearchTimeout()
@@ -163,7 +162,7 @@ public class PwNotifyEngine
             log( "ldap search complete, examining users..." );
 
             final ThreadPoolExecutor threadPoolExecutor = createExecutor( pwmDomain );
-            while ( workQueue.hasNext() )
+            for ( final UserIdentity userIdentity : matchingUsers )
             {
                 if ( !checkIfRunningOnMaster() || pwNotifyService.status() == PwmService.STATUS.CLOSED )
                 {
@@ -172,7 +171,7 @@ public class PwNotifyEngine
                     throw PwmUnrecoverableException.newException( PwmError.ERROR_SERVICE_NOT_AVAILABLE, msg );
                 }
 
-                threadPoolExecutor.submit( new ProcessJob( workQueue.next() ) );
+                threadPoolExecutor.submit( new ProcessJob( userIdentity ) );
             }
 
             JavaHelper.closeAndWaitExecutor( threadPoolExecutor, TimeDuration.DAY );

+ 2 - 3
server/src/main/java/password/pwm/svc/report/ReportService.java

@@ -77,12 +77,11 @@ public class ReportService extends AbstractPwmService implements PwmService
         this.pwmApplication = pwmApplication;
         this.settings = ReportSettings.readSettingsFromConfig( this.getPwmApplication().getConfig() );
         final int maxThreads = settings.getReportJobThreads();
-        this.threadPool = PwmScheduler.makeMultiThreadExecutorService( pwmApplication, ReportService.class, maxThreads );
+        this.threadPool = PwmScheduler.makeMultiThreadExecutor( maxThreads, pwmApplication, getSessionLabel(), ReportService.class );
         return STATUS.OPEN;
     }
 
-    @Override
-    public void close( )
+    public void shutdownImpl( )
     {
         if ( threadPool != null )
         {

+ 4 - 2
server/src/main/java/password/pwm/util/DailySummaryJob.java

@@ -25,8 +25,8 @@ import lombok.Value;
 import org.apache.commons.text.WordUtils;
 import password.pwm.AppProperty;
 import password.pwm.PwmApplication;
-import password.pwm.PwmDomain;
 import password.pwm.PwmConstants;
+import password.pwm.PwmDomain;
 import password.pwm.bean.EmailItemBean;
 import password.pwm.config.DomainConfig;
 import password.pwm.config.PwmSetting;
@@ -34,7 +34,6 @@ import password.pwm.error.PwmUnrecoverableException;
 import password.pwm.health.HealthRecord;
 import password.pwm.i18n.Display;
 import password.pwm.svc.PwmService;
-import password.pwm.svc.report.ReportSummaryData;
 import password.pwm.util.java.CollectionUtil;
 import password.pwm.util.java.PwmTimeUtil;
 import password.pwm.util.java.StringUtil;
@@ -218,6 +217,7 @@ public class DailySummaryJob implements Runnable
         textBody.append( '\n' );
         htmlBody.append( "<br/>" );
 
+        /*
         if ( settings.isReportingEnableDailyJob() )
         {
             final List<ReportSummaryData.PresentationRow> summaryData = pwmDomain.getPwmApplication().getReportService()
@@ -247,6 +247,8 @@ public class DailySummaryJob implements Runnable
             htmlBody.append( "</table>" );
         }
 
+         */
+
         textBody.append( '\n' );
         htmlBody.append( "<br/>" );
 

+ 1 - 0
server/src/main/resources/password/pwm/i18n/Admin.properties

@@ -309,6 +309,7 @@ EpsStatistic_Label.PWMDB_WRITES=LocalDB Writes
 EpsStatistic_Label.DB_READS=Database Reads
 EpsStatistic_Label.DB_WRITES=Database Writes
 Title_About=About
+Title_Admin_System_Certificates=Certificate Summary
 Title_DirectoryReporting=Directory Reporting
 Title_DataViewer=Data Viewer
 Title_DirectoryReport=Directory Report

+ 1 - 1
webapp/src/main/webapp/WEB-INF/jsp/configmanager-certificates.jsp → webapp/src/main/webapp/WEB-INF/jsp/admin-system-certificates.jsp

@@ -24,7 +24,7 @@
 
 
 <%@ page import="password.pwm.http.JspUtility" %>
-<%@ page import="password.pwm.http.servlet.configmanager.ConfigManagerCertificatesServlet" %>
+<%@ page import="password.pwm.http.servlet.admin.system.SystemAdminCertificatesServlet" %>
 <%@ page import="password.pwm.i18n.Config" %>
 <%@ page import="password.pwm.util.i18n.LocaleHelper" %>
 <%@ page import="java.util.List" %>

+ 2 - 2
webapp/src/main/webapp/WEB-INF/jsp/configmanager-login.jsp

@@ -28,8 +28,8 @@
 <%@ page import="password.pwm.util.i18n.LocaleHelper" %>
 <%@ page import="password.pwm.util.java.JavaHelper" %>
 <%@ page import="password.pwm.http.PwmRequestAttribute" %>
-<%@ page import="password.pwm.http.servlet.configmanager.ConfigManagerServlet" %>
-<%@ page import="password.pwm.http.servlet.configmanager.ConfigManagerLoginServlet" %>
+<%@ page import="password.pwm.http.servlet.admin.system.ConfigManagerServlet" %>
+<%@ page import="password.pwm.http.servlet.admin.system.ConfigManagerLoginServlet" %>
 <%@ page import="password.pwm.util.java.MiscUtil" %>
 <%@ page import="password.pwm.util.java.StringUtil" %>
 

+ 1 - 1
webapp/src/main/webapp/WEB-INF/jsp/configmanager-permissions.jsp

@@ -25,7 +25,7 @@
 
 <%@ page import="password.pwm.http.JspUtility" %>
 <%@ page import="password.pwm.i18n.Config" %>
-<%@ page import="password.pwm.http.servlet.configmanager.ConfigManagerServlet" %>
+<%@ page import="password.pwm.http.servlet.admin.system.ConfigManagerServlet" %>
 
 <!DOCTYPE html>
 <%@ page language="java" session="true" isThreadSafe="true" contentType="text/html" %>

+ 1 - 1
webapp/src/main/webapp/WEB-INF/jsp/fragment/configmanager-nav.jsp

@@ -34,7 +34,7 @@
             Overview
         </button>
     </form>
-    <form action="<pwm:context/><%=PwmServletDefinition.ConfigManager_Certificates.servletUrl()%>" method="get">
+    <form action="<pwm:context/><%=PwmServletDefinition.SystemAdmin_Certificates.servletUrl()%>" method="get">
         <button type="submit" class="navbutton">
             <pwm:if test="<%=PwmIfTest.showIcons%>"><span class="btn-icon pwm-icon pwm-icon-file-text-o"></span></pwm:if>
             Certificates

+ 77 - 0
webapp/src/main/webapp/private/admin/system/index.jsp

@@ -0,0 +1,77 @@
+<%--
+ ~ Password Management Servlets (PWM)
+ ~ http://www.pwm-project.org
+ ~
+ ~ Copyright (c) 2006-2009 Novell, Inc.
+ ~ Copyright (c) 2009-2021 The PWM Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~     http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+--%>
+<%--
+       THIS FILE IS NOT INTENDED FOR END USER MODIFICATION.
+       See the README.TXT file in WEB-INF/jsp before making changes.
+--%>
+
+
+<%@ page import="password.pwm.http.JspUtility" %>
+<%@ page import="password.pwm.http.servlet.PwmServletDefinition" %>
+<%@ page import="password.pwm.http.tag.conditional.PwmIfTag" %>
+<%@ page import="password.pwm.http.tag.conditional.PwmIfTest" %>
+<%@ page import="password.pwm.*" %>
+<%@ page import="password.pwm.http.tag.value.PwmValue" %>
+
+<!DOCTYPE html>
+<%@ page language="java" session="true" isThreadSafe="true" contentType="text/html" %>
+<%@ taglib uri="pwm" prefix="pwm" %>
+<html lang="<pwm:value name="<%=PwmValue.localeCode%>"/>" dir="<pwm:value name="<%=PwmValue.localeDir%>"/>">
+<%@ include file="../../../WEB-INF/jsp/fragment/header.jsp" %>
+<body class="nihilo">
+<div id="wrapper">
+    <jsp:include page="../../../WEB-INF/jsp/fragment/header-body.jsp">
+        <jsp:param name="pwm.PageName" value="Title_Admin"/>
+    </jsp:include>
+
+    <div id="centerbody" class="tile-centerbody">
+        <div style="text-align: center; margin-bottom: 10px;">
+            <form action="<pwm:url addContext="true" url="/private"/>" method="get" id="nav-main" name="admin">
+                <button type="submit" class="navbutton">
+                    <pwm:if test="<%=PwmIfTest.showIcons%>"><span class="btn-icon pwm-icon pwm-icon-arrow-up"></span></pwm:if>
+                    <pwm:display key="Title_MainPage" bundle="Display"/>
+                </button>
+            </form>
+        </div>
+        <div style="text-align: center; margin-bottom: 10px;">
+            <form action="<pwm:url addContext="true" url="/private/admin"/>" method="get" id="nav-admin" name="admin">
+                <button type="submit" class="navbutton">
+                    <pwm:if test="<%=PwmIfTest.showIcons%>"><span class="btn-icon pwm-icon pwm-icon-arrow-up"></span></pwm:if>
+                    <pwm:display key="Title_Admin" bundle="Display"/>
+                </button>
+            </form>
+        </div>
+        <pwm:if test="<%=PwmIfTest.permission%>" permission="<%=Permission.PWMADMIN%>">
+            <a id="button_reporting" href="<pwm:url url='<%=PwmServletDefinition.SystemAdmin_Certificates.servletUrl()%>' addContext="true"/> ">
+                <div class="tile">
+                    <div class="tile-content">
+                        <div class="tile-image admin-image"></div>
+                        <div class="tile-title" title="<pwm:display key='Title_Admin_System_Certificates' bundle="Admin"/>"><pwm:display key="Title_Admin_System_Certificates" bundle="Admin"/></div>
+                        <div class="tile-subtitle" title="<pwm:display key='Title_Admin_System_Certificates' bundle="Admin"/>"><pwm:display key="Title_Admin_System_Certificates" bundle="Admin"/></div>
+                    </div>
+                </div>
+            </a>
+        </pwm:if>
+    </div>
+    <div class="push"></div>
+</div>
+<%@ include file="../../../WEB-INF/jsp/fragment/footer.jsp" %>
+</body>
+</html>