showServerConfig.jsp revision 76ad7ecb4e4f3ca5bc014a996cebf0942b7c09c9
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster $Id: showServerConfig.jsp,v 1.11 2008/11/25 18:16:57 veiming Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Portions Copyrighted 2010-2013 ForgeRock Inc
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.iplanet.sso.SSOException" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.iplanet.sso.SSOToken" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.iplanet.sso.SSOTokenManager" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.sun.identity.common.configuration.ServerConfiguration" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.sun.identity.security.EncodeAction" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.sun.identity.idm.IdConstants" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.sun.identity.sm.SMSEntry" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.sun.identity.sm.ServiceConfig" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.sun.identity.sm.ServiceConfigManager" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.security.AccessController" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.io.File" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.net.URL" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.util.ResourceBundle" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.util.Properties" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.util.Enumeration" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.util.Set" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.util.StringTokenizer" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="java.util.Iterator" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<%@ page import="com.iplanet.am.util.SystemProperties" %>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <title>OpenAM</title>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <link rel="stylesheet" type="text/css" href="com_sun_web_ui/css/css_ns6up.css" />
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <link rel="shortcut icon" href="com_sun_web_ui/images/favicon/favicon.ico" type="image/x-icon" />
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster<body class="DefBdy">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <div class="SkpMedGry1"><a href="#SkipAnchor3860"><img src="com_sun_web_ui/images/other/dot.gif" alt="Jump to End of Masthead" border="0" height="1" width="1" /></a></div><div class="MstDiv">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <table class="MstTblBot" title="" border="0" cellpadding="0" cellspacing="0" width="100%">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <td class="MstTdTtl">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <div class="MstDivTtl"><img name="AMConfig.configurator.ProdName" src="com_sun_web_ui/images/PrimaryProductName.png" alt="OpenAM" border="0" /></div>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <table class="SkpMedGry1" border="0" cellpadding="5" cellspacing="0" width="100%"><tr><td><img src="com_sun_web_ui/images/other/dot.gif" alt="Jump to End of Masthead" border="0" height="1" width="1" /></a></td></tr></table>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <table border="0" cellpadding="10" cellspacing="0" width="100%"><tr><td></td></tr></table>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <table border="0" cellpadding="10" cellspacing="0" width="100%"><tr><td>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SSOTokenManager manager = SSOTokenManager.getInstance();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SSOToken ssoToken = manager.createSSOToken(request);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String strURL = request.getRequestURL().toString();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (ssoToken.getPrincipal().getName().equals(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "id=amadmin,ou=user," + SMSEntry.getRootSuffix())
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>SYSTEM PROPERTIES</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster <table border="1">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Properties propDef = ServerConfiguration.getDefaults(ssoToken);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>OpenAM Version</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println(propDef.getProperty("com.iplanet.am.version"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Properties prop = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster URL url = new URL(strURL);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String protocol = url.getProtocol();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String host = url.getHost();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String path = url.getPath();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (port == -1) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster port = protocol.equals("https") ? 443 : 80;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster int idx = path.indexOf("/showServerConfig.jsp");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (idx != -1) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster path = path.substring(0, idx);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster prop = ServerConfiguration.getServerInstance(ssoToken,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster protocol + "://" + host + ":" + port + path);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Server Name</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println(prop.getProperty("com.iplanet.am.server.protocol").trim() + "://" +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster prop.getProperty("com.iplanet.am.server.host").trim() + ":" +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster prop.getProperty("com.iplanet.am.server.port").trim() +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster prop.getProperty("com.iplanet.am.services.deploymentDescriptor"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ServletContext sctx = getServletConfig().getServletContext();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Container</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Operating System</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Java Version</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println(System.getProperty("java.version"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Browser Version</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Server Install Mode</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Service Management Configuration Datastore Type</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String strConfigDir = prop.getProperty("com.iplanet.services.configpath");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster boolean isEmbeddedDS = (new File(strConfigDir + "/opends")).exists();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (isEmbeddedDS) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Java Home</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Server Names (Configuration->Sites and Servers)</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println(ServerConfiguration.getServers(ssoToken));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Configuration Directory</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println(strConfigDir);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>User management datastore names under root realm (Datastore plugin type)</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ServiceConfigManager scm = new ServiceConfigManager(IdConstants.REPO_SERVICE, ssoToken);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ServiceConfig svcfg = scm.getOrganizationConfig("/", null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for (Iterator i = dsSet.iterator(); i.hasNext();) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String dsname = (String)i.next();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ServiceConfig subConfig = svcfg.getSubConfig(dsname);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println(dsname + " (" + subConfig.getSchemaID() + ")");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println(dsname + " (" + subConfig.getSchemaID() + "), ");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Java Runtime Name</B>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println(System.getProperty("java.runtime.name"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster out.println("<B>Java VM Name</B>");
out.println("<B>Java VM Version</B>");
out.println("<B>Java Arch Data Model</B>");
out.println("<B>System Locale</B>");
out.println("<B>Java Classpath</B>");
while (st.hasMoreTokens()) {
String token = st.nextToken();
out.println(token + "\n");
out.println("<B>Java VM Vendor</B>");
out.println("<br/>");
out.println("<a href=" + strURL + ">The data above is generated using the following url</a>");
out.println("<B>User does not have permission to access this page</B>");