标签:return String 主页 验证 URL xxlUser request 访问 Conf
@Controller
public class WebController extends BaseWebController {
@Autowired
private MemberServiceFeign memberServiceFeign;
@RequestMapping("/")
public String index(Model model, HttpServletRequest request, HttpServletResponse response) {
// login check
XxlSsoUser xxlUser = SsoWebLoginHelper.loginCheck(request, response);
if (xxlUser == null) {
return "redirect:/login";
} else {
model.addAttribute("xxlUser", xxlUser);
return "index";
}
}
/**
* Login page
*
* @param model
* @param request
* @return
*/
@RequestMapping(Conf.SSO_LOGIN)
public String login(Model model, HttpServletRequest request, HttpServletResponse response) {
// login check
XxlSsoUser xxlUser = SsoWebLoginHelper.loginCheck(request, response);
if (xxlUser != null) {
// success redirect
String redirectUrl = request.getParameter(Conf.REDIRECT_URL);
if (redirectUrl != null && redirectUrl.trim().length() > 0) {
String sessionId = SsoWebLoginHelper.getSessionIdByCookie(request);
String redirectUrlFinal = redirectUrl + "?" + Conf.SSO_SESSIONID + "=" + sessionId;
;
return "redirect:" + redirectUrlFinal;
} else {
return "redirect:/";
}
}
model.addAttribute("errorMsg", request.getParameter("errorMsg"));
model.addAttribute(Conf.REDIRECT_URL, request.getParameter(Conf.REDIRECT_URL));
return "login";
}
/**
* Login
*
* @param request
* @param redirectAttributes
* @param username
* @param password
* @return
*/
@RequestMapping("/doLogin")
public String doLogin(HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes, String username, String password, String ifRemember) {
boolean ifRem = (ifRemember != null && "on".equals(ifRemember)) ? true : false;
// valid login 调用会员服务进行验证
// ReturnT<UserInfo> result = userService.findUser(username, password);
// if (result.getCode() != ReturnT.SUCCESS_CODE) {
// redirectAttributes.addAttribute("errorMsg", result.getMsg());
//
// redirectAttributes.addAttribute(Conf.REDIRECT_URL,
// request.getParameter(Conf.REDIRECT_URL));
// return "redirect:/login";
// }
// >>>>>>>认证授权中心调用会员服务接口进行验证
UserLoginInpDTO userLoginInpDTO = new UserLoginInpDTO();
userLoginInpDTO.setLoginType(Constants.MEMBER_LOGIN_TYPE_PC);
userLoginInpDTO.setMobile(username);
userLoginInpDTO.setPassword(password);
String info = webBrowserInfo(request);
userLoginInpDTO.setDeviceInfor(info);
BaseResponse<UserOutDTO> ssoLogin = memberServiceFeign.ssoLogin(userLoginInpDTO);
if (!isSuccess(ssoLogin)) {
redirectAttributes.addAttribute("errorMsg", ssoLogin.getMsg());
redirectAttributes.addAttribute(Conf.REDIRECT_URL, request.getParameter(Conf.REDIRECT_URL));
return "redirect:/login";
}
UserOutDTO data = ssoLogin.getData();
if (data == null) {
redirectAttributes.addAttribute("errorMsg", "没有获取用户信息");
redirectAttributes.addAttribute(Conf.REDIRECT_URL, request.getParameter(Conf.REDIRECT_URL));
return "redirect:/login";
}
XxlSsoUser xxlUser = new XxlSsoUser();
xxlUser.setUserid(String.valueOf(data.getUserId()));
xxlUser.setUsername(data.getUserName());
xxlUser.setVersion(UUID.randomUUID().toString().replaceAll("-", ""));
xxlUser.setExpireMinite(SsoLoginStore.getRedisExpireMinite());
xxlUser.setExpireFreshTime(System.currentTimeMillis());
// 2、make session id
String sessionId = SsoSessionIdHelper.makeSessionId(xxlUser);
// 3、login, store storeKey + cookie sessionId
SsoWebLoginHelper.login(response, sessionId, xxlUser, ifRem);
// 4、return, redirect sessionId
String redirectUrl = request.getParameter(Conf.REDIRECT_URL);
if (redirectUrl != null && redirectUrl.trim().length() > 0) {
String redirectUrlFinal = redirectUrl + "?" + Conf.SSO_SESSIONID + "=" + sessionId;
return "redirect:" + redirectUrlFinal;
} else {
return "redirect:/";
}
}
/**
* Logout
*
* @param request
* @param redirectAttributes
* @return
*/
@RequestMapping(Conf.SSO_LOGOUT)
public String logout(HttpServletRequest request, HttpServletResponse response,
RedirectAttributes redirectAttributes) {
// logout
SsoWebLoginHelper.logout(request, response);
redirectAttributes.addAttribute(Conf.REDIRECT_URL, request.getParameter(Conf.REDIRECT_URL));
return "redirect:/login";
}
}
君子志邦 发布了307 篇原创文章 · 获赞 15 · 访问量 6万+ 私信 关注
标签:return,String,主页,验证,URL,xxlUser,request,访问,Conf 来源: https://blog.csdn.net/u011488009/article/details/104570011
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。