Portal, Express Beta Version 6.1
Operating systems: i5/OS, Linux,Windows |
This section describes the overall tasks that are required to configure SSL for IBM® WebSphere® Portal Express. Some of these tasks are performed on the IBM WebSphere Application Server and the Web server. The steps that refer to the WebSphere Application Server and the Web server are summarized here; you should refer to the WebSphere Application Server and the Web server documentation for more detailed information. Steps that are unique to WebSphere Portal Express are described in detail here.
Note: This procedure might be slightly different if a front-end security proxy server such as IBM Tivoli® Access Manager for e-business WebSEAL is used. In that case, the front-end security server handles the client SSL connections. The Web server receives connections from the front-end security proxy server. Mutually authenticated SSL could be configured in the Web server and the front-end security proxy server if needed. This is highly dependent on the security requirements of each deployment. If you plan to use a Tivoli Access Manager WebSEAL TAI with an SSL junction, perform only steps 1-3 of this procedure.Important: If only the login process should be secure over SSL, perform the first three steps and then go to Configuring SSL only for the login process.If this is a production environment, obtain a certificate from a certificate authority. For testing purposes, you can use IKEYMAN to generate a self-signed certificate. Refer to the Managing digital certificates section of the WebSphere Application Server information center.
For Internet Information Server, create SSL keys by using the Web server's Version 6.0 resource tool kit.
redirect.login.ssl = true host.port.https = alias_port
where alias_port is the port number that is used for the virtual host alias that is specified in a previous step (usually 443). The parameter redirect.login.ssl determines the protocol that is used when you click the login button. If this parameter is set to true, https is used. If this parameter is set to false, http is used. This setting is not affected by the protocol that is used to access the main page.
Theme JSPs and deployment files are managed as part of the main application and are thus part of the EAR file. You must update and redeploy EAR files when changing JSPs or deployment related xml files; otherwise, your changes will be deleted when the EAR file is updated. See Deploying themes and skins in a production environment for information on updating and redeploying the EAR file with modified settings.
This step is only required if you need to completely secure the portal protected area over HTTPS. You can modify the transport guarantee so that WebSphere Application Server will enforce the use of SSL for all pages under the /myportal/ URL.
Edit web.xml file in the directory/wps_expanded/wps.war/WEB-INF/web.xml directory. Change the security-constraint tag of the protected URL, /myportal/*, to use HTTPS by setting each occurrence of the transport guarantee value of 'NONE' to 'CONFIDENTIAL': <security-constraint id="SecurityConstraint_1">
<web-resource-collection id="WebResourceCollection_1">
<web-resource-name></web-resource-name>
<url-pattern>/myportal/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>POST</http-method>
<http-method>GET</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint id="AuthConstraint_1">
<description></description>
<role-name>All Role</role-name>
</auth-constraint>
<user-data-constraint id="UserDataConstraint_4">
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
// replace NONE by CONFIDENTIAL
</user-data-constraint>
</security-constraint>
"wps.Login"This attribute should appear in a tag similar to this:
<wps:urlGeneration contentNode="wps.Login" portletWindowState="Normal">The exact structure of this tag can vary depending on how it was constructed by the page designer. JSP comments might also be used to indicate where the login link is located:
<%-- login button --%>
<wps:if loggedIn="no" notSelection="wps.Login"> <wps:urlGeneration contentNode="wps.Login" portletWindowState="Normal" ssl="true"> <td class="wpsToolBar" valign="middle" nowrap> <a href="<% wpsURL.write(escapeXmlWriter); %>" class="wpsToolBarLink"> <wps:text key="link.login" bundle="nls.engine"/> </a> </td> </wps:urlGeneration> </wps:if>Note: The previous examples use the 'wps:' prefix to designate JSP tags from the portal tag library in portal.tld. Your custom JSPs might use a different tag prefix.