whyclxw
2025-01-11 fba8b6301fe35757f942405b09bf9daf40b8d4b4
登录添加用户身份验证
2个文件已修改
18 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/LoginController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/UserInfService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/LoginController.java
@@ -23,8 +23,8 @@
    @GetMapping("login")
    @ApiOperation(value ="登录")
    public Response login(@RequestParam String uname, String usnId, HttpServletRequest request){
        return service.login(uname,usnId,request);
    public Response login(@RequestParam String uname, String usnId, @RequestParam(required = false) Integer platFrom,HttpServletRequest request){
        return service.login(uname,usnId,platFrom,request);
    }
    @ApiOperation(value = "修改密码")
src/main/java/com/whyc/service/UserInfService.java
@@ -170,7 +170,7 @@
        return new Response().setII(1,bl>0,bl,"删除返回");
    }
    public Response login(String uname, String usnId, HttpServletRequest request) {
    public Response login(String uname, String usnId, Integer platFrom, HttpServletRequest request) {
        Response response = new Response();
        String[] dataArr = RSAUtil.decryptFrontP(usnId, RSAUtil.fontSeparator);
        //验签md5
@@ -182,6 +182,15 @@
        }
        UsernamePasswordToken userToken = new UsernamePasswordToken(uname, dataArr[0]);
        Subject subject = SecurityUtils.getSubject();
        //Session存储当前用户及权限组列表
        UserInf userDB = (UserInf) subject.getPrincipal();
        userDB.setUsnid(null);
        if(platFrom!=null&&platFrom==1){
            Integer urole=userDB.getUrole();
            if(urole==0){
                return response.set(1,false,"普通用户无权限");
            }
        }
        try {
            subject.login(userToken);
        } catch (Exception e) {
@@ -194,9 +203,6 @@
        ServletContext servletContext = request.getServletContext();
        servletContext.setAttribute(uname, request.getSession().getId());
        request.getSession().setMaxInactiveInterval(60*30);
        //Session存储当前用户及权限组列表
        UserInf userDB = (UserInf) subject.getPrincipal();
        userDB.setUsnid(null);
        request.getSession().setAttribute("user", userDB);
        return response.setII(1,true, userDB,"登录成功");
    }