package com.ifish.action; import com.ifish.entity.Menu; import com.ifish.entity.Role; import com.ifish.entity.SecurityUser; import com.ifish.enums.RoleEnum; import com.ifish.enums.SysUserEnum; import com.ifish.menu.IfishMenu; import com.ifish.service.AdminService; import com.ifish.service.PublicService; import com.ifish.ueditor.ActionEnter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collection; import java.util.List; /** * @ClassName: PublicAction * @Description: 公共页面 * @author ggw */ @Controller("publicAction") @RequestMapping("/public") public class PublicAction { @Autowired private PublicService publicService; @Autowired private AdminService adminService; private static Logger log = LoggerFactory.getLogger(PublicAction.class); /** * 登陆页面 * * @return */ @RequestMapping("/login.do") public ModelAndView login(String status) { return new ModelAndView("roleAll/login", "status", status); } /** * 文本编辑器配置 * * @param request * @param response */ @RequestMapping("/config.do") public void config(HttpServletRequest request, HttpServletResponse response) { try { request.setCharacterEncoding("utf-8"); response.setHeader("Content-Type", "text/html"); response.setContentType("application/json"); String rootPath = request.getSession().getServletContext().getRealPath("/"); String exec = new ActionEnter(request, rootPath).exec(); PrintWriter writer = response.getWriter(); writer.write(exec); writer.flush(); writer.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 主页 * * @return */ @RequestMapping("/index.do") public ModelAndView index() { String role = null; String userName = null; try { //登录用户 UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); userName = userDetails.getUsername(); //根据登录用户角色类型跳转 Collection extends GrantedAuthority> authorities = SecurityContextHolder.getContext().getAuthentication().getAuthorities(); for (GrantedAuthority grantedAuthority : authorities) { role = grantedAuthority.getAuthority(); } //菜单初始化 if (role != null && userName != null) { Role curRole = this.adminService.get(role); List