Package org.opencms.workplace
Class CmsLogin
- java.lang.Object
-
- org.opencms.jsp.CmsJspBean
-
- org.opencms.jsp.CmsJspActionElement
-
- org.opencms.jsp.CmsJspLoginBean
-
- org.opencms.workplace.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.
-
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, ornull
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
-
-
-
-
Field Detail
-
ACTION_DISPLAY
public static final int ACTION_DISPLAY
Action constant: Default action, display the dialog.- See Also:
- Constant Field Values
-
ACTION_LOGIN
public static final int ACTION_LOGIN
Action constant: Login successful.- See Also:
- Constant Field Values
-
ACTION_LOGOUT
public static final int ACTION_LOGOUT
Action constant: Logout.- See Also:
- Constant Field Values
-
PARAM_ACTION_GETOULIST
public static final java.lang.String PARAM_ACTION_GETOULIST
The parameter name for the "getoulist" action.- See Also:
- Constant Field Values
-
PARAM_ACTION_LOGIN
public static final java.lang.String PARAM_ACTION_LOGIN
The parameter name for the "login" action.- See Also:
- Constant Field Values
-
PARAM_ACTION_LOGOUT
public static final java.lang.String PARAM_ACTION_LOGOUT
The parameter name for the "logout" action.- See Also:
- Constant Field Values
-
PARAM_FORM
public static final java.lang.String PARAM_FORM
The html id for the login form.- See Also:
- Constant Field Values
-
PARAM_OUFQN
public static final java.lang.String PARAM_OUFQN
The parameter name for the organizational unit.- See Also:
- Constant Field Values
-
PARAM_OUSEARCH
public static final java.lang.String PARAM_OUSEARCH
The parameter name for the search organizational unit.- See Also:
- Constant Field Values
-
PARAM_PASSWORD
public static final java.lang.String PARAM_PASSWORD
The parameter name for the password.- See Also:
- Constant Field Values
-
PARAM_PCTYPE
public static final java.lang.String PARAM_PCTYPE
The parameter name for the PC type.- See Also:
- Constant Field Values
-
PARAM_PREDEF_OUFQN
public static final java.lang.String PARAM_PREDEF_OUFQN
The parameter name for the organizational unit.- See Also:
- Constant Field Values
-
PARAM_USERNAME
public static final java.lang.String PARAM_USERNAME
The parameter name for the user name.- See Also:
- Constant Field Values
-
PARAM_WPDATA
public static final java.lang.String PARAM_WPDATA
The parameter name for the workplace data.- See Also:
- Constant Field Values
-
PCTYPE_PRIVATE
public static final java.lang.String PCTYPE_PRIVATE
PC type constant: private PC.- See Also:
- Constant Field Values
-
PCTYPE_PUBLIC
public static final java.lang.String PCTYPE_PUBLIC
PC type constant: public PC.- See Also:
- Constant Field Values
-
-
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 objectreq
- the JSP requestres
- 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, ornull
if not set.- Parameters:
cms
- the CMS context to useuserSettings
- 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 usepredefOu
- 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 valueusername
- the username valueoufqn
- the oufqn valuerequest
- the current requestresponse
- 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 namepassword
- 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 requestname
- 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 setdelete
- flag to determine if the cookir should be deletedrequest
- the current requestresponse
- 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 failsorg.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 classorg.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 requestresponse
- 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 tomessage
- 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 toid
- 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 torequestedResource
- the requested resource to open in a new windowmessage
- 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
-
-