首页>代码>ssm+apache shiro实现按钮级别的网站权限控制项目实例>/SSMShiro/src/main/java/com/sharainy/contoller/LoginController.java
package com.sharainy.contoller; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.IncorrectCredentialsException; import org.apache.shiro.authc.LockedAccountException; import org.apache.shiro.authc.UnknownAccountException; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.sharainy.pojo.User; /** *@标题LoginController * @作者: Sharainy * @创建时间: 2018-06-29 0029 * @描述: */ @RequestMapping(value = "/") @Controller public class LoginController { private static final Logger logger = LoggerFactory.getLogger(LoginController.class); @RequestMapping(value = "/login",method = RequestMethod.GET) public String login(){ return "login"; } @RequestMapping(value = "/login",method = RequestMethod.POST) public String login(User user, Model model){ String username = user.getUsername(); String password = user.getPassword(); logger.debug("username => " + username); logger.debug("password => " + password); UsernamePasswordToken token = new UsernamePasswordToken(username,password); Subject subject = SecurityUtils.getSubject(); String msg = null; try { subject.login(token); } catch (UnknownAccountException e) { e.printStackTrace(); msg = e.getMessage(); } catch (IncorrectCredentialsException e){ e.printStackTrace(); msg = "密码不匹配(生产环境中应该写:用户名和密码的组合不正确)"; } catch (LockedAccountException e){ e.printStackTrace(); msg = e.getMessage(); } if(msg == null){ return "redirect:/admin/user/list"; } model.addAttribute("msg",msg); return "login"; } @RequestMapping(value = "/logout",method = RequestMethod.GET) public String logout(Model model){ Subject subject = SecurityUtils.getSubject(); subject.logout(); model.addAttribute("msg","您已经退出登录"); return "login"; } @RequestMapping(value = "/unAuthorization") public String unAuthorization(){ return "unAuthorization"; } }
最近下载更多