<%-- ~ Password Management Servlets (PWM) ~ http://www.pwm-project.org ~ ~ Copyright (c) 2006-2009 Novell, Inc. ~ Copyright (c) 2009-2017 The PWM Project ~ ~ This program is free software; you can redistribute it and/or modify ~ it under the terms of the GNU General Public License as published by ~ the Free Software Foundation; either version 2 of the License, or ~ (at your option) any later version. ~ ~ This program is distributed in the hope that it will be useful, ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ~ GNU General Public License for more details. ~ ~ You should have received a copy of the GNU General Public License ~ along with this program; if not, write to the Free Software ~ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --%> <%@ page import="com.novell.ldapchai.cr.Challenge" %> <%@ page import="password.pwm.Permission" %> <%@ page import="password.pwm.bean.ResponseInfoBean" %> <%@ page import="password.pwm.bean.pub.PublicUserInfoBean" %> <%@ page import="password.pwm.config.profile.ChallengeProfile" %> <%@ page import="password.pwm.config.profile.ProfileType" %> <%@ page import="password.pwm.config.profile.PwmPasswordPolicy" %> <%@ page import="password.pwm.config.profile.PwmPasswordRule" %> <%@ page import="password.pwm.http.servlet.admin.UserDebugDataBean" %> <%@ page import="password.pwm.i18n.Display" %> <%@ page import="java.util.Map" %> <%@ page language="java" session="true" isThreadSafe="true" contentType="text/html" %> <%@ taglib uri="pwm" prefix="pwm" %> "/>" dir=""> <%@ include file="/WEB-INF/jsp/fragment/header.jsp" %>
User Debug
<%@ include file="fragment/admin-nav.jsp" %> <% final UserDebugDataBean userDebugDataBean = (UserDebugDataBean)JspUtility.getAttribute(pageContext, PwmRequestAttribute.UserDebugData); %> <% if (userDebugDataBean == null) { %> <%@ include file="/WEB-INF/jsp/fragment/message.jsp" %> <% } else { %>
<% final PublicUserInfoBean userInfo = userDebugDataBean.getPublicUserInfoBean(); %> <% if (userInfo != null) { %>
Identity
UserDN <%=JspUtility.freindlyWrite(pageContext, userInfo.getUserDN())%>
Ldap Profile <%=JspUtility.freindlyWrite(pageContext, userInfo.getLdapProfile())%>
Username <%=JspUtility.freindlyWrite(pageContext, userInfo.getUserID())%>
<%=PwmConstants.PWM_APP_NAME%> GUID <%=JspUtility.freindlyWrite(pageContext, userInfo.getUserGUID())%>

Status
Last Login Time <%=JspUtility.freindlyWrite(pageContext, userInfo.getPasswordLastModifiedTime())%>
Account Expiration Time <%=JspUtility.freindlyWrite(pageContext, userInfo.getAccountExpirationTime())%>
Password Expiration <%=JspUtility.freindlyWrite(pageContext, userInfo.getPasswordExpirationTime())%>
Password Last Modified <%=JspUtility.freindlyWrite(pageContext, userInfo.getPasswordLastModifiedTime())%>
Email Address <%=JspUtility.freindlyWrite(pageContext, userInfo.getUserEmailAddress())%>
Phone Number <%=JspUtility.freindlyWrite(pageContext, userDebugDataBean.getUserInfo().getUserSmsNumber())%>
Username <%=JspUtility.freindlyWrite(pageContext, userInfo.getUserID())%>
<%= JspUtility.freindlyWrite(pageContext, userInfo.getPasswordStatus().isExpired()) %>
<%= JspUtility.freindlyWrite(pageContext, userInfo.getPasswordStatus().isPreExpired()) %>
<%= JspUtility.freindlyWrite(pageContext, userInfo.getPasswordStatus().isWarnPeriod()) %>
<%= JspUtility.freindlyWrite(pageContext, userInfo.getPasswordStatus().isViolatesPolicy()) %>
Password Readable From LDAP <%= JspUtility.freindlyWrite(pageContext, userDebugDataBean.isPasswordReadable()) %>
Requires New Password <%= JspUtility.freindlyWrite(pageContext, userInfo.isRequiresNewPassword()) %>
Requires Response Setup <%= JspUtility.freindlyWrite(pageContext, userInfo.isRequiresResponseConfig()) %>
Requires OTP Setup <%= JspUtility.freindlyWrite(pageContext, userInfo.isRequiresOtpConfig()) %>
Requires Profile Update <%= JspUtility.freindlyWrite(pageContext, userInfo.isRequiresUpdateProfile()) %>

Applied Configuration
Profiles <% for (final ProfileType profileType : userDebugDataBean.getProfiles().keySet()) { %> <% } %>
Service ProfileID
<%=profileType%> <%=JspUtility.freindlyWrite(pageContext, userDebugDataBean.getProfiles().get(profileType))%>
Permissions <% for (final Permission permission : userDebugDataBean.getPermissions().keySet()) { %> <% } %>
Permission Status
<%=permission%> <%=JspUtility.freindlyWrite(pageContext, userDebugDataBean.getPermissions().get(permission))%>

<% PwmPasswordPolicy userPolicy = userDebugDataBean.getUserInfo().getPasswordPolicy(); %> <% if (userPolicy != null) { %> <% PwmPasswordPolicy configPolicy = userDebugDataBean.getConfiguredPasswordPolicy(); %> <% PwmPasswordPolicy ldapPolicy = userDebugDataBean.getLdapPasswordPolicy(); %> <% } %>
Password Policy
<% for (final PwmPasswordRule rule : PwmPasswordRule.values()) { %> <% } %>
Rule Rule Type Configured <%=PwmConstants.PWM_APP_NAME%> Policy LDAP Policy Effective Policy
ID <%=JspUtility.freindlyWrite(pageContext, configPolicy.getIdentifier())%> <%=JspUtility.freindlyWrite(pageContext, ldapPolicy.getIdentifier())%> <%=JspUtility.freindlyWrite(pageContext, userPolicy.getIdentifier())%>
Display Name <%=JspUtility.freindlyWrite(pageContext, configPolicy.getDisplayName(JspUtility.locale(request)))%> <%=JspUtility.freindlyWrite(pageContext, ldapPolicy.getDisplayName(JspUtility.locale(request)))%> <%=JspUtility.freindlyWrite(pageContext, userPolicy.getDisplayName(JspUtility.locale(request)))%>
<%=rule.getLabel(JspUtility.locale(request), JspUtility.getPwmRequest(pageContext).getConfig())%> <%=rule.getRuleType()%> <%=JspUtility.freindlyWrite(pageContext, configPolicy.getValue(rule))%> <%=JspUtility.freindlyWrite(pageContext, ldapPolicy.getValue(rule))%> <%=JspUtility.freindlyWrite(pageContext, userPolicy.getValue(rule))%>

<% final ResponseInfoBean responseInfoBean = userDebugDataBean.getUserInfo().getResponseInfoBean(); %> <% if (responseInfoBean == null) { %> <% } else { %> <% final Map crMap = responseInfoBean.getCrMap(); %> <% if (crMap == null) { %> <% } else { %> <% } %> <% final Map helpdeskCrMap = responseInfoBean.getHelpdeskCrMap(); %> <% if (helpdeskCrMap == null) { %> <% } else { %> <% } %> <% } %>
Stored Responses
Stored Responses
Identifier <%=responseInfoBean.getCsIdentifier()%>
Storage Type <%=responseInfoBean.getDataStorageMethod()%>
Format <%=responseInfoBean.getFormatType()%>
Locale <%=responseInfoBean.getLocale()%>
Storage Timestamp <%=JspUtility.freindlyWrite(pageContext, responseInfoBean.getTimestamp())%>
Answered Challenges n/a <% for (final Challenge challenge : crMap.keySet()) { %> <% } %>
Type Required Text
<%= challenge.isAdminDefined() ? "Admin Defined" : "User Defined" %> <%= JspUtility.freindlyWrite(pageContext, challenge.isRequired())%> <%= JspUtility.freindlyWrite(pageContext, challenge.getChallengeText())%>
Minimum Randoms Required <%=responseInfoBean.getMinRandoms()%>
Helpdesk Answered Challenges <% for (final Challenge challenge : helpdeskCrMap.keySet()) { %> <%= JspUtility.freindlyWrite(pageContext, challenge.getChallengeText())%>
<% } %>

<% final ChallengeProfile challengeProfile = userDebugDataBean.getUserInfo().getChallengeProfile(); %> <% if (challengeProfile == null) { %> <% } else { %> <% } %>
Challenge Profile
Assigned Profile
Display Name <%=challengeProfile.getDisplayName(JspUtility.locale(request))%>
Identifier <%=challengeProfile.getIdentifier()%>
Locale <%=challengeProfile.getLocale()%>
Challenges <% for (final Challenge challenge : challengeProfile.getChallengeSet().getChallenges()) { %> <% } %>
Type Text Required Min Length Max Length Enforce Wordlist Max Question Characters
<%= challenge.isAdminDefined() ? "Admin Defined" : "User Defined" %> <%= JspUtility.freindlyWrite(pageContext, challenge.getChallengeText())%> <%= JspUtility.freindlyWrite(pageContext, challenge.isRequired())%> <%= challenge.getMinLength() %> <%= challenge.getMaxLength() %> <%= JspUtility.freindlyWrite(pageContext, challenge.isEnforceWordlist())%> <%= challenge.getMaxQuestionCharsInAnswer() %>
<% } %>
<% } %>