登录系统的本机ip
@RequestMapping("/")
public String index2(ServletRequest request, Model model){
// System.out.println("userService="+adminuserService);
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = req.getSession();
//Subject subjectuser = SecurityUtils.getSubject();
String username = (String) SecurityUtils.getSubject().getPrincipal();
logger.debug("---------------------------------"+username+"---------------------------------------");
User loginUser = null;
loginUser = userService.findByUsername(username);
String tips = null;
String logo = "";
if(loginUser==null){
return "redirect:/" ;
}
SysUser adminUser = null;
if(loginUser.getType() == Constants.USER_TYPE_ADMIN){
tips = "";
adminUser = adminuserService.findByUsername(username);
if(loginIpService.getLoginIp(username)!=null) {
String ip = req.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = req.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = req.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
LoginIp log=loginIpService.getLoginIp(username);
log.setAddress(ip);
log.setCount(log.getCount()+1);
log.setLoginuser(username);
log.setListtime(log.getTime());
String nowtime = CommonUtil.now();
log.setTime(nowtime);
loginIpService.addOrUpdate(log);
}else {
String ip = req.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = req.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = req.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
LoginIp log2=new LoginIp();
log2.setAddress(ip);
log2.setCount(log2.getCount()+1);
log2.setLoginuser(username);
String nowtime = CommonUtil.now();
log2.setTime(nowtime);
loginIpService.addOrUpdate(log2);
}
if(adminUser.getHotelId()!=0 ){
Hotel h = hotelService.getHotel(adminUser.getHotelId());
tips = h.getHotelName();
logo = h.getLogo();
}
// if(adminUser.getSysRole().getId() == Constants.SYSROLE_area_admin ){
// Hotel h = hotelService.getHotel(adminUser.getHotelId());
// tips = h.getHotelName();
// logo = h.getLogo();
// }
// if(adminUser==null){
// return "redirect:/" ;
// }
// else{
// return "redirect:/" ;
// }
}else{
}
if(username.equals("admin")){
logo = "assets/images/logo.png";
}
//管理员模块
session.setAttribute(CURRENT_USER,adminUser);
Set<String> permissions = adminuserService.findPermissions(adminUser.getUsername());
List<SysResource> resources = resourceService.findMenus(permissions);
List<Menu> menus = MenuUtils.convertToMenus(resources, true);
model.addAttribute("menus", menus);
model.addAttribute("title",tips);
model.addAttribute("userlogo",logo);
model.addAttribute("loginrole",adminUser.getSysRole().getRole());
model.addAttribute("loginrolename",adminUser.getSysRole().getDescription());
model.addAttribute("username", adminUser.getName()!=null ?adminUser.getName() :adminUser.getUsername() );
model.addAttribute("areacode",adminUser.getArea()==null?"":adminUser.getArea().getId());
return "index";
}//...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统