Class CmsLogin


  • public class CmsLogin
    extends org.opencms.jsp.CmsJspLoginBean
    Handles the login of Users to the OpenCms workplace.

    Since:
    6.0.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ACTION_DISPLAY
      Action constant: Default action, display the dialog.
      static int ACTION_LOGIN
      Action constant: Login successful.
      static int ACTION_LOGOUT
      Action constant: Logout.
      static java.lang.String PARAM_ACTION_GETOULIST
      The parameter name for the "getoulist" action.
      static java.lang.String PARAM_ACTION_LOGIN
      The parameter name for the "login" action.
      static java.lang.String PARAM_ACTION_LOGOUT
      The parameter name for the "logout" action.
      static java.lang.String PARAM_FORM
      The html id for the login form.
      static java.lang.String PARAM_OUFQN
      The parameter name for the organizational unit.
      static java.lang.String PARAM_OUSEARCH
      The parameter name for the search organizational unit.
      static java.lang.String PARAM_PASSWORD
      The parameter name for the password.
      static java.lang.String PARAM_PCTYPE
      The parameter name for the PC type.
      static java.lang.String PARAM_PREDEF_OUFQN
      The parameter name for the organizational unit.
      static java.lang.String PARAM_USERNAME
      The parameter name for the user name.
      static java.lang.String PARAM_WPDATA
      The parameter name for the workplace data.
      static java.lang.String PCTYPE_PRIVATE
      PC type constant: private PC.
      static java.lang.String PCTYPE_PUBLIC
      PC type constant: public PC.
      • Fields inherited from class org.opencms.jsp.CmsJspActionElement

        NOT_INITIALIZED
    • Constructor Summary

      Constructors 
      Constructor Description
      CmsLogin​(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
      Public constructor for login page.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void appendDefaultLoginScript​(java.lang.StringBuffer html, org.opencms.i18n.CmsMessageContainer message)
      Appends the JavaScript for the login screen to the given HTML buffer.
      protected void appendDirectEditOpenerScript​(java.lang.StringBuffer html)
      Appends the JavaScript that opens the Direct Edit window after a successful login to the given HTML buffer.
      protected void appendId​(java.lang.StringBuffer html, java.lang.String id)
      Appends the HTML form name/id code for the given id to the given html.
      protected void appendWorkplaceOpenerScript​(java.lang.StringBuffer html, java.lang.String requestedResource, org.opencms.i18n.CmsMessageContainer message)
      Appends the JavaScript that opens the Workplace window after a successful login to the given HTML buffer.
      java.lang.String buildOrgUnitSelector()
      Returns the HTML code for selecting an organizational unit.
      java.lang.String displayDialog()
      Returns the HTML for the login dialog in it's current state.
      protected java.lang.String displayLoginForm()
      Returns the HTML for the login form.
      protected static javax.servlet.http.Cookie getCookie​(javax.servlet.http.HttpServletRequest request, java.lang.String name)
      Returns the cookie with the given name, if not cookie is found a new one is created.
      void getCookieData()
      Gets the login info from the cookies.
      static java.lang.String getCopyrightHtml​(java.util.Locale locale)
      Gets the copyright information HTML.
      static java.lang.String getDirectEditPath​(org.opencms.file.CmsObject cms, org.opencms.db.CmsUserSettings userSettings)
      Returns the direct edit path from the user settings, or null if not set.
      java.lang.String getFormLink()  
      java.lang.String getJsonOrgUnitList()
      Returns the available organizational units as JSON array string.
      static java.util.List<org.opencms.security.CmsOrganizationalUnit> getOrgUnitsForLoginDialog​(org.opencms.file.CmsObject cms, java.lang.String predefOu)
      Gets the list of OUs which should be selectable in the login dialog.
      protected java.util.List<org.opencms.security.CmsOrganizationalUnit> getOus()
      Returns all organizational units in the system.
      protected java.lang.String getPreDefOuFqn()
      Returns the predefined organizational unit fqn.
      static java.lang.String getTitle​(java.util.Locale locale)
      Gets the window title for a given locale.
      static org.opencms.workplace.CmsWorkplaceSettings initSiteAndProject​(org.opencms.file.CmsObject cms)
      Initializes the site and project for a CMS context after login, and returns the workplace settings for the corresponding user.
      protected static void setCookie​(javax.servlet.http.Cookie cookie, boolean delete, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Sets the cookie in the response.
      static void setCookieData​(java.lang.String pcType, java.lang.String username, java.lang.String oufqn, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Sets the cookie data.
      void setCookieData​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Sets the cookie data.
      static org.opencms.i18n.CmsMessageContainer validateUserAndPasswordNotEmpty​(java.lang.String username, java.lang.String password)
      Checks that the user name and password are not empty, and returns an error message if they are.
      • Methods inherited from class org.opencms.jsp.CmsJspLoginBean

        getLoginException, getUser, getUserName, isLoggedIn, isLoginSuccess, login, login, login, logLoginException, logout, setVerificationCode
      • Methods inherited from class org.opencms.jsp.CmsJspActionElement

        editable, editable, editable, editableManualClose, editableManualOpen, getContent, getContent, getMessages, getMessages, getMessages, getMessages, getNavigation, getNavigationUri, img, img, include, include, include, include, include, include, includeSilent, includeSilent, includeSilent, includeSilent, info, label, link, link, properties, properties, property, property, property, property, template, template, template, toAbsolute, user
      • Methods inherited from class org.opencms.jsp.CmsJspBean

        getCmsObject, getController, getJspContext, getMessage, getRequest, getRequestContext, getResponse, handleException, handleMissingFlexController, init, isNotInitialized, isSupressingExceptions, setContentType, setStatus, setSupressingExceptions
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CmsLogin

        public CmsLogin​(javax.servlet.jsp.PageContext context,
                        javax.servlet.http.HttpServletRequest req,
                        javax.servlet.http.HttpServletResponse res)
        Public constructor for login page.

        Parameters:
        context - the JSP page context object
        req - the JSP request
        res - the JSP response
    • Method Detail

      • getCopyrightHtml

        public static java.lang.String getCopyrightHtml​(java.util.Locale locale)
        Gets the copyright information HTML.

        Parameters:
        locale - the locale for which to get the copyright info
        Returns:
        the copyright info HTML
      • getDirectEditPath

        public static java.lang.String getDirectEditPath​(org.opencms.file.CmsObject cms,
                                                         org.opencms.db.CmsUserSettings userSettings)
        Returns the direct edit path from the user settings, or null if not set.

        Parameters:
        cms - the CMS context to use
        userSettings - the user settings
        Returns:
        the direct edit path
      • getOrgUnitsForLoginDialog

        public static java.util.List<org.opencms.security.CmsOrganizationalUnit> getOrgUnitsForLoginDialog​(org.opencms.file.CmsObject cms,
                                                                                                           java.lang.String predefOu)
        Gets the list of OUs which should be selectable in the login dialog.

        Parameters:
        cms - the CMS context to use
        predefOu - the predefined OU
        Returns:
        the list of organizational units for the OU selector
      • getTitle

        public static java.lang.String getTitle​(java.util.Locale locale)
        Gets the window title for a given locale.

        Parameters:
        locale - the locale
        Returns:
        the window title
      • initSiteAndProject

        public static org.opencms.workplace.CmsWorkplaceSettings initSiteAndProject​(org.opencms.file.CmsObject cms)
        Initializes the site and project for a CMS context after login, and returns the workplace settings for the corresponding user.

        Parameters:
        cms - the CMS context which should be initialized
        Returns:
        the workplace set
      • setCookieData

        public static void setCookieData​(java.lang.String pcType,
                                         java.lang.String username,
                                         java.lang.String oufqn,
                                         javax.servlet.http.HttpServletRequest request,
                                         javax.servlet.http.HttpServletResponse response)
        Sets the cookie data.

        Parameters:
        pcType - the pctype value
        username - the username value
        oufqn - the oufqn value
        request - the current request
        response - the current response
      • validateUserAndPasswordNotEmpty

        public static org.opencms.i18n.CmsMessageContainer validateUserAndPasswordNotEmpty​(java.lang.String username,
                                                                                           java.lang.String password)
        Checks that the user name and password are not empty, and returns an error message if they are.

        Parameters:
        username - the user name
        password - the password
        Returns:
        the error message, or null if the user name and password are OK
      • getCookie

        protected static javax.servlet.http.Cookie getCookie​(javax.servlet.http.HttpServletRequest request,
                                                             java.lang.String name)
        Returns the cookie with the given name, if not cookie is found a new one is created.

        Parameters:
        request - the current request
        name - the name of the cookie
        Returns:
        the cookie
      • setCookie

        protected static void setCookie​(javax.servlet.http.Cookie cookie,
                                        boolean delete,
                                        javax.servlet.http.HttpServletRequest request,
                                        javax.servlet.http.HttpServletResponse response)
        Sets the cookie in the response.

        Parameters:
        cookie - the cookie to set
        delete - flag to determine if the cookir should be deleted
        request - the current request
        response - the current response
      • buildOrgUnitSelector

        public java.lang.String buildOrgUnitSelector()
        Returns the HTML code for selecting an organizational unit.

        Returns:
        the HTML code for selecting an organizational unit
      • displayDialog

        public java.lang.String displayDialog()
                                       throws java.io.IOException,
                                              org.opencms.main.CmsException
        Returns the HTML for the login dialog in it's current state.

        Returns:
        the HTML for the login dialog
        Throws:
        java.io.IOException - in case a redirect fails
        org.opencms.main.CmsException - in case displaying the login dialog fails
      • getCookieData

        public void getCookieData()
        Gets the login info from the cookies.

      • getFormLink

        public java.lang.String getFormLink()
        Overrides:
        getFormLink in class org.opencms.jsp.CmsJspLoginBean
        See Also:
        CmsJspLoginBean.getFormLink()
      • getJsonOrgUnitList

        public java.lang.String getJsonOrgUnitList()
        Returns the available organizational units as JSON array string.

        Returns:
        the available organizational units as JSON array string
      • setCookieData

        public void setCookieData​(javax.servlet.http.HttpServletRequest request,
                                  javax.servlet.http.HttpServletResponse response)
        Sets the cookie data.

        Parameters:
        request - the current request
        response - the current response
      • appendDefaultLoginScript

        protected void appendDefaultLoginScript​(java.lang.StringBuffer html,
                                                org.opencms.i18n.CmsMessageContainer message)
        Appends the JavaScript for the login screen to the given HTML buffer.

        Parameters:
        html - the HTML buffer to append the script to
        message - the message to display after an unsuccessful login
      • appendDirectEditOpenerScript

        protected void appendDirectEditOpenerScript​(java.lang.StringBuffer html)
        Appends the JavaScript that opens the Direct Edit window after a successful login to the given HTML buffer.

        Parameters:
        html - the html buffer to append the script to
      • appendId

        protected void appendId​(java.lang.StringBuffer html,
                                java.lang.String id)
        Appends the HTML form name/id code for the given id to the given html.

        Parameters:
        html - the html where to append the id to
        id - the id to append
      • appendWorkplaceOpenerScript

        protected void appendWorkplaceOpenerScript​(java.lang.StringBuffer html,
                                                   java.lang.String requestedResource,
                                                   org.opencms.i18n.CmsMessageContainer message)
        Appends the JavaScript that opens the Workplace window after a successful login to the given HTML buffer.

        Parameters:
        html - the html buffer to append the script to
        requestedResource - the requested resource to open in a new window
        message - the message to display if the originally requested resource is not available
      • displayLoginForm

        protected java.lang.String displayLoginForm()
        Returns the HTML for the login form.

        Returns:
        the HTML for the login form
      • getOus

        protected java.util.List<org.opencms.security.CmsOrganizationalUnit> getOus()
        Returns all organizational units in the system.

        Returns:
        a list of CmsOrganizationalUnit objects
      • getPreDefOuFqn

        protected java.lang.String getPreDefOuFqn()
        Returns the predefined organizational unit fqn.

        This is normally selected by url, and set by the CmsWorkplaceLoginHandler.

        Returns:
        the predefined organizational unit fqn