登录系统的本机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";
        
    }//...

 

posted @   码海兴辰  阅读(107)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示