11.5. Implementing "Remember Me" Logins
Problem
You want to provide a "remember me" feature so a user's username and password are prefilled on the logon form if that user has logged on before.
Solution
In your Action
that logs a user in, create
persistent cookies containing the user's base-64
encoded username and password. The private
saveCookies( )
and removeCookies( )
methods shown in Example 11-8 manipulate the cookies as needed.
Example 11-8. An Action that stores or removes cookies
package com.oreilly.strutsckbk.ch11; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.beanutils.PropertyUtils; import org.apache.struts.action.Action; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.oreilly.servlet.Base64Encoder; public final class MyLogonAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession( ); ActionErrors errors = new ActionErrors( ); String username = (String) PropertyUtils.getSimpleProperty(form, "username"); String password = (String) PropertyUtils.getSimpleProperty(form, "password"); boolean rememberMe = ((Boolean) PropertyUtils.getSimpleProperty( ...
Get Jakarta Struts Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.