先建一个实体类,role表示角色,是用户还是管理员等等
import lombok.Data; @Data public class User { private String username; private String password; private Integer role; }
在controller层创建一个访问接口,调用service层方法,向前端返回一个封装的回复对象
@RestController public class LoginController { @Autowired UserService userService; @RequestMapping ("/login") public Result login(@RequestBody User user){ User user1 =userService.login(user); return Result.success(user1); } }
在service层做一些业务处理,判断数据库是否有此账户等等,设置抛出错误(用户名或密码错误等等),调用~mapper方法去进行数据库相关业务,这里是查询
@Service public class UserService { @Autowired UserMapper userMapper; public User login(User user){ User user1 = userMapper.getByUsernameAndPassword(user.getUsername(),user.getPassword()); if (user1 == null){ throw new ServiceException("用户名或密码错误!"); } return user1; } }
UserMapper主要处理数据库相关业务,配着UserMapper.xml,实现增删查改等等
@Mapper @Repository public interface UserMapper { User getByUsernameAndPassword(@Param("username") String username, @Param("password") String password); }
.xml里写查询语句
GlobalCorsConfig写允许请求相关的配置,主要处理跨域问题
Result类,封装返回的信息,状态码,数据,提示信息等等
前端请求,通过role值来跳转页面
简单的分角色登录完成,进一步的就是权限拦截,什么角色做什么事,用户只能访问自己的东西,管理员有更高的权限,全凭自己需求