Tutorial
JSP para hacer login de un usuario interno de OpenCms
15/03/2007

JSP en la que un usuario interno de OpenCms puede logarse en el portal para editar contenido directamente desde el portal, usando el "direct edit".

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4 /loose.dtd ">
<html lang="gl">
    
<body marginheight="0" marginwidth="0" rightmargin="0" leftmargin="0">

<%@ page import="java.util.* ,org.opencms.jsp.*" %>
<%@ page import="org.opencms.file.*" %>
<%@ page import="com.opencms.core.*,org.opencms.main.CmsException" %>
<%@ taglib prefix="cms" uri=" http://www.opencms.org/taglib /cms" %>

<%   
String sErrorMessage = null;
String sName = null;
CmsJspActionElement cms = new CmsJspActionElement(pageContext
, request, response);
boolean logout = "true".equals(request.getParameter("logout"));

CmsObject oCms = cms.getCmsObject();

if(logout){
    session.invalidate();
    System.out.println("DesLogeado");
}

if(request.getParameter("name") != null && request.getParameter("password") != null){
    
    String sUsername = (String)request.getParameter("name");
        String sPassword = (String)request.getParameter("password");
    try{
        oCms.loginUser(sUsername, sPassword);
        oCms.getRequestContext().setCurrentProject(oCms.readProject("MiProyecto"));
        response.sendRedirect(cms.link("/MiWeb/"));
    }catch(CmsException cmsE){
            sErrorMessage = "Usuario o Contrase a invalida";
        }
}


if(!cms.user("name").equals("Guest")){


%>
<Cambio de perfil:
<form method="post" action="<%= cms.link(oCms.getRequestContext().getUri()) %>" target="_self" name="logout" topmargin="0" marginheight="0" style="margin-top:0px; margin-bottom:0px;">
<input type="hidden" name="logout" value="true"><input type="submit" value="<< sa&iacute;r">
                </form>
<br>
<%}else{%>
<p>&nbsp;&nbsp;&nbsp;</p><p> &nbsp;&nbsp;&nbsp;</p>
<form method="post" action="<%= cms.link(oCms.getRequestContext().getUri()) %>" target="_self" name="login" topmargin="0" marginheight="0" style="margin-top:0px; margin-bottom:0px;">
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
        <% if(sErrorMessage != null) { %>
        <tr>
            <td class="login_error"><%= sErrorMessage %>
            </td>
        </tr>
        <% } %>
        <tr>
            <td width="1" valign="top" bgcolor="#6166AB">&nbsp;</td>
            <td valign="top"></td>
            <td valign="top">
                <table width="60%"  border="0" cellspacing="5" cellpadding="5">
                    <tr>
                        <td width="54%">Usuario:</td>
                                      <td width="46%"><input type="text" size="10" name="name" ></td>
                                </tr>
                                <tr >
                                      <td>Contrasinal:</td>
                                      <td><input name="password" type="password" size="10" ></td>
                    </tr>
                                <tr >
                                      <td colspan="2"><div align="right">
                                        <input name="submit" type="submit"  value="entrar >>">
                            </div>
                        </td>
                                </tr>
                          </table>
            </td>
        </tr>
    </table>
</form>
<br>
<%}%>

</body>

Jorge Novo