001/** 002 * Copyright 2005-2017 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.krad.labs.sessionPolicy; 017 018import org.kuali.rice.krad.labs.KradLabsController; 019import org.kuali.rice.krad.labs.KradLabsForm; 020import org.kuali.rice.krad.util.GlobalVariables; 021import org.kuali.rice.krad.web.form.UifFormBase; 022import org.springframework.stereotype.Controller; 023import org.springframework.validation.BindingResult; 024import org.springframework.web.bind.annotation.ModelAttribute; 025import org.springframework.web.bind.annotation.RequestMapping; 026import org.springframework.web.servlet.ModelAndView; 027 028import javax.servlet.http.HttpServletRequest; 029import javax.servlet.http.HttpServletResponse; 030 031/** 032 * Controller class for the session policy lab view 033 * 034 * @author Kuali Rice Team (rice.collab@kuali.org) 035 */ 036@Controller 037@RequestMapping(value = "/sessionPolicy") 038public class LabsSessionPolicyController extends KradLabsController { 039 040 @RequestMapping(params = "methodToCall=killSession") 041 public ModelAndView killSession(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result, 042 HttpServletRequest request, HttpServletResponse response) { 043 044 request.getSession().invalidate(); 045 046 return getModelAndView(form); 047 } 048 049 @RequestMapping(params = "methodToCall=sessionTimeout") 050 public ModelAndView sessionTimeout(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result, 051 HttpServletRequest request, HttpServletResponse response) { 052 053 GlobalVariables.getMessageMap().addGrowlMessage("Result", "labs.methodInvoked", "sessionTimeout"); 054 055 return getModelAndView(form); 056 } 057 058 @RequestMapping(params = "methodToCall=setSessionTimeout") 059 public ModelAndView setSessionTimeout(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result, 060 HttpServletRequest request, HttpServletResponse response) { 061 062 // for testing purposes set the session timeout to three minutes 063 request.getSession().setMaxInactiveInterval(360); 064 ((KradLabsForm) form).setSessionTimeoutInterval(360); 065 066 return getModelAndView(form); 067 } 068}