From 0a4d352ae72d04975c543a879c7b72cba8987bd0 Mon Sep 17 00:00:00 2001 From: zwzw1219 Date: Sun, 15 Oct 2017 19:46:19 +0800 Subject: [PATCH] 1 --- .../server/controller/LoginController.java | 58 ------------------- .../server/controller/NoticeController.java | 12 ++-- .../controller/PermissionController.java | 4 +- .../server/controller/SysLogsController.java | 3 +- .../server/controller/UserController.java | 14 ++++- .../boot/security/server/utils/UserUtil.java | 2 +- 6 files changed, 26 insertions(+), 67 deletions(-) delete mode 100644 src/main/java/com/boot/security/server/controller/LoginController.java diff --git a/src/main/java/com/boot/security/server/controller/LoginController.java b/src/main/java/com/boot/security/server/controller/LoginController.java deleted file mode 100644 index 3b16302..0000000 --- a/src/main/java/com/boot/security/server/controller/LoginController.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.boot.security.server.controller; - -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authc.UsernamePasswordToken; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.zw.admin.server.annotation.LogAnnotation; -import com.zw.admin.server.dto.Token; -import com.zw.admin.server.model.User; -import com.zw.admin.server.service.TokenManager; -import com.zw.admin.server.utils.UserUtil; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -/** - * 登陆相关接口 - * - * @author 小威老师 - * - */ -@Api(tags = "登陆") -@RestController -@RequestMapping -public class LoginController { - - @Autowired - private TokenManager tokenManager; - - @LogAnnotation - @ApiOperation(value = "web端登陆") - @PostMapping("/sys/login") - public void login(String username, String password) { - UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(username, password); - SecurityUtils.getSubject().login(usernamePasswordToken); - } - - @LogAnnotation - @ApiOperation(value = "Restful方式登陆,前后端分离时登录接口") - @PostMapping("/sys/login/restful") - public Token restfulLogin(String username, String password) { - UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(username, password); - SecurityUtils.getSubject().login(usernamePasswordToken); - - return tokenManager.saveToken(usernamePasswordToken); - } - - @ApiOperation(value = "当前登录用户") - @GetMapping("/sys/login") - public User getLoginInfo() { - return UserUtil.getCurrentUser(); - } - -} diff --git a/src/main/java/com/boot/security/server/controller/NoticeController.java b/src/main/java/com/boot/security/server/controller/NoticeController.java index 72ba44d..79b7442 100644 --- a/src/main/java/com/boot/security/server/controller/NoticeController.java +++ b/src/main/java/com/boot/security/server/controller/NoticeController.java @@ -18,10 +18,14 @@ import com.boot.security.server.dao.NoticeDao; import com.boot.security.server.dto.NoticeReadVO; import com.boot.security.server.dto.NoticeVO; import com.boot.security.server.model.Notice; +import com.boot.security.server.model.SysUser; import com.boot.security.server.model.Notice.Status; import com.boot.security.server.page.table.PageTableHandler; +import com.boot.security.server.page.table.PageTableHandler.CountHandler; +import com.boot.security.server.page.table.PageTableHandler.ListHandler; import com.boot.security.server.page.table.PageTableRequest; import com.boot.security.server.page.table.PageTableResponse; +import com.boot.security.server.utils.UserUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -61,9 +65,9 @@ public class NoticeController { } vo.setNotice(notice); - noticeDao.saveReadRecord(notice.getId(), UserUtil.getCurrentUser().getId()); + noticeDao.saveReadRecord(notice.getId(), UserUtil.getLoginUser().getId()); - List users = noticeDao.listReadUsers(id); + List users = noticeDao.listReadUsers(id); vo.setUsers(users); return vo; @@ -113,14 +117,14 @@ public class NoticeController { @ApiOperation(value = "未读公告数") @GetMapping("/count-unread") public Integer countUnread() { - User user = UserUtil.getCurrentUser(); + SysUser user = UserUtil.getLoginUser(); return noticeDao.countUnread(user.getId()); } @GetMapping("/published") @ApiOperation(value = "公告列表") public PageTableResponse listNoticeReadVO(PageTableRequest request) { - request.getParams().put("userId", UserUtil.getCurrentUser().getId()); + request.getParams().put("userId", UserUtil.getLoginUser().getId()); return PageTableHandler. builder().countHandler(new CountHandler() { diff --git a/src/main/java/com/boot/security/server/controller/PermissionController.java b/src/main/java/com/boot/security/server/controller/PermissionController.java index ddf119d..275547f 100644 --- a/src/main/java/com/boot/security/server/controller/PermissionController.java +++ b/src/main/java/com/boot/security/server/controller/PermissionController.java @@ -7,6 +7,7 @@ import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -22,6 +23,7 @@ import com.alibaba.fastjson.JSONObject; import com.boot.security.server.annotation.LogAnnotation; import com.boot.security.server.dao.PermissionDao; import com.boot.security.server.model.Permission; +import com.boot.security.server.model.SysUser; import com.boot.security.server.service.PermissionService; import com.google.common.collect.Lists; @@ -49,7 +51,7 @@ public class PermissionController { public List permissionsCurrent() { List list = UserUtil.getCurrentPermissions(); if (list == null) { - User user = UserUtil.getCurrentUser(); + SysUser user = UserUtil.getCurrentUser(); list = permissionDao.listByUserId(user.getId()); UserUtil.setPermissionSession(list); } diff --git a/src/main/java/com/boot/security/server/controller/SysLogsController.java b/src/main/java/com/boot/security/server/controller/SysLogsController.java index 4588e80..5e61507 100644 --- a/src/main/java/com/boot/security/server/controller/SysLogsController.java +++ b/src/main/java/com/boot/security/server/controller/SysLogsController.java @@ -3,6 +3,7 @@ package com.boot.security.server.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -27,7 +28,7 @@ public class SysLogsController { private SysLogsDao sysLogsDao; @GetMapping - @RequiresPermissions(value = "sys:log:query") + @PreAuthorize("hasAuthority('sys:log:query')") @ApiOperation(value = "日志列表") public PageTableResponse list(PageTableRequest request) { return PageTableHandler. builder().countHandler(new CountHandler() { diff --git a/src/main/java/com/boot/security/server/controller/UserController.java b/src/main/java/com/boot/security/server/controller/UserController.java index 131b298..8ed019f 100644 --- a/src/main/java/com/boot/security/server/controller/UserController.java +++ b/src/main/java/com/boot/security/server/controller/UserController.java @@ -13,7 +13,17 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.boot.security.server.annotation.LogAnnotation; +import com.boot.security.server.dao.UserDao; +import com.boot.security.server.dto.UserDto; import com.boot.security.server.model.SysUser; +import com.boot.security.server.page.table.PageTableHandler; +import com.boot.security.server.page.table.PageTableHandler.CountHandler; +import com.boot.security.server.page.table.PageTableHandler.ListHandler; +import com.boot.security.server.page.table.PageTableRequest; +import com.boot.security.server.page.table.PageTableResponse; +import com.boot.security.server.service.UserService; +import com.boot.security.server.utils.UserUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -61,7 +71,7 @@ public class UserController { @PutMapping(params = "headImgUrl") @ApiOperation(value = "修改头像") public void updateHeadImgUrl(String headImgUrl) { - SysUser user = UserUtil.getCurrentUser(); + SysUser user = UserUtil.getLoginUser(); UserDto userDto = new UserDto(); BeanUtils.copyProperties(user, userDto); userDto.setHeadImgUrl(headImgUrl); @@ -101,7 +111,7 @@ public class UserController { @ApiOperation(value = "当前登录用户") @GetMapping("/current") public SysUser currentUser() { - return UserUtil.getCurrentUser(); + return UserUtil.getLoginUser(); } @ApiOperation(value = "根据用户id获取用户") diff --git a/src/main/java/com/boot/security/server/utils/UserUtil.java b/src/main/java/com/boot/security/server/utils/UserUtil.java index e8f9c7d..cc0fcee 100644 --- a/src/main/java/com/boot/security/server/utils/UserUtil.java +++ b/src/main/java/com/boot/security/server/utils/UserUtil.java @@ -15,7 +15,7 @@ import com.zw.admin.server.model.User; public class UserUtil { - public static SysUser getCurrentUser() { + public static SysUser getLoginUser() { LoginUser loginUser = (LoginUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); return loginUser;