List of usage examples for org.apache.shiro.web.util WebUtils getSavedRequest
public static SavedRequest getSavedRequest(ServletRequest request)
From source file:org.workin.security.shiro.filter.authc.ShiroRedirectAuthenticationFilter.java
License:Apache License
@Override public String getSavedRequestUrl(ServletRequest request) { String savedRequestUrl = null; SavedRequest savedRequest = WebUtils.getSavedRequest(request); if (savedRequest != null) // SavedRequest?URL savedRequestUrl = savedRequest.getRequestUrl(); if (StringUtils.isBlank(savedRequestUrl)) // ?URLrequest?redirectUrl??URL savedRequestUrl = request.getParameter(this.parameterName); if (StringUtils.isBlank(savedRequestUrl)) // ?URL//from w ww .ja va 2 s . c o m savedRequestUrl = (StringUtils.isNotBlank(getSuccessUrl()) ? getSuccessUrl() : DEFAULT_SUCCESS_URL); if (savedRequest == null && savedRequestUrl.startsWith("/") && savedRequestUrl.length() > 1) // ?????URL??"/"? savedRequestUrl = StringUtils.afterFrist(savedRequestUrl, "/"); return savedRequestUrl; }
From source file:org.workin.security.shiro.ShiroWebUtils.java
License:Apache License
/** * @description ??URL?URL/*from w w w .ja v a 2 s . co m*/ * @author <a href="mailto:code727@gmail.com">?</a> * @param request * @param fallbackUrl * @return */ public static String getSavedRequestUrl(ServletRequest request, String fallbackUrl) { String savedRequestUrl = null; SavedRequest savedRequest = WebUtils.getSavedRequest(request); if (savedRequest != null) // SavedRequest?URL savedRequestUrl = savedRequest.getRequestUrl(); if (StringUtils.isBlank(savedRequestUrl)) // ?URLrequest?redirectUrl??URL savedRequestUrl = request.getParameter("redirect"); if (StringUtils.isBlank(savedRequestUrl)) // ?URL savedRequestUrl = (StringUtils.isNotBlank(fallbackUrl) ? fallbackUrl : AuthenticationFilter.DEFAULT_SUCCESS_URL); if (savedRequest == null && savedRequestUrl.startsWith("/") && savedRequestUrl.length() > 1) // ?????URL??"/"? savedRequestUrl = StringUtils.afterFrist(savedRequestUrl, "/"); return savedRequestUrl; }
From source file:top.sj.web.UserLoginAction.java
License:Open Source License
/** * //from w w w .j a v a 2 s. c om */ @Override public String execute() throws Exception { boolean TorF = false; SjUsers user = null; /** * ???? */ HttpServletRequest request = ServletActionContext.getRequest(); String sessionId = request.getSession().getId(); String captchaId = sessionId; String validateCode = checkedCode; // ???sessionid???? boolean validateResult = JCaptchaBusinessUtil.getService().validateResponseForID(captchaId, validateCode); if (validateResult) { TorF = true; } if (TorF == true) { // ?????? StringBuffer msg = new StringBuffer(); // ??? UsernamePasswordToken token = new UsernamePasswordToken(users.getUNickname(), DigestUtils.sha256Hex(users.getUPwd())); Subject subject = SecurityUtils.getSubject(); try { // ? subject.login(token); // users?? users.setUPwd(DigestUtils.sha256Hex(users.getUPwd())); // ???? user = userService.doLoginService(users); // ?Session SessionScope.putUserInfoOnSessionScope(user); user.setULastlogontime(TimestampConverter.convertNowDateToStimeStamp()); //? userService.updateUserInfoService(user); logger.info(" -- user login was successed at " + DateTimeTool.getNowDateFormatDateTimeTemplateOne() + " -- "); /****************************** ??? ******************************/ /** * */ if (null != refererUrl && refererUrl.contains("detail")) { redirectUrl = refererUrl; return ActionResult.SUCCESS.getType(); } /** * ??? */ Object shiroRequest = WebUtils.getSavedRequest(request); String interceptBeforeUrl = null; if (null != shiroRequest) { try { interceptBeforeUrl = WebUtils.getSavedRequest(request).getRequestURI(); logger.info(" -- interceptor before url is ?" + interceptBeforeUrl + " -- "); } catch (Exception e) { e.printStackTrace(); } if (interceptBeforeUrl.contains("manage")) { redirectUrl = "/manage"; return ActionResult.SUCCESS.getType(); } } /** * ?? */ if (null == shiroRequest && (refererUrl.contains("home") || refererUrl.contains("dologin"))) { redirectUrl = "/home"; return ActionResult.SUCCESS.getType(); } /****************************** ??? ******************************/ // ??????? } catch (IncorrectCredentialsException e) { logger.warn("?. Password for account " + token.getPrincipal() + " was incorrect."); msg.append(ShiroExceptionEnum.PASSWORDERROR.getType()); } catch (ExcessiveAttemptsException e) { logger.warn(""); msg.append(ShiroExceptionEnum.LOGINFAILEDMAXCOUNTS.getType()); } catch (LockedAccountException e) { logger.warn( "???. The account for username " + token.getPrincipal() + " was locked."); msg.append(ShiroExceptionEnum.ACCOUNTISLOCKED.getType()); } catch (DisabledAccountException e) { logger.warn( "???. The account for username " + token.getPrincipal() + " was disabled."); msg.append(ShiroExceptionEnum.ACCOUNTISDISABLED.getType()); System.out.println(msg); } catch (ExpiredCredentialsException e) { logger.warn("??. the account for username " + token.getPrincipal() + " was expired."); msg.append(ShiroExceptionEnum.ACCOUNTEXPIRED.getType()); } catch (UnknownAccountException e) { logger.warn("???. There is no user with username of " + token.getPrincipal()); msg.append(ShiroExceptionEnum.ACCOUNTNOTEXISTS.getType()); } catch (UnauthorizedException e) { logger.warn("??You do not have authorization from the appropriate."); msg.append(ShiroExceptionEnum.ACCOUNTUNAUTHORIZED.getType()); } finally { if (null != msg) { // ?request request.setAttribute("message", msg.toString()); } } } else { // ?request request.setAttribute("message", "???"); } logger.error(" -- user login was failed at " + DateTimeTool.getNowDateFormatDateTimeTemplateOne() + " -- "); // ?? return ActionResult.FAILED.getType(); }