zwzw1219 2017-10-15 19:46:19 +08:00
parent e5718ccffd
commit 0a4d352ae7
6 changed files with 26 additions and 67 deletions

View File

@ -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();
}
}

View File

@ -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<User> users = noticeDao.listReadUsers(id);
List<SysUser> 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<NoticeReadVO> listNoticeReadVO(PageTableRequest request) {
request.getParams().put("userId", UserUtil.getCurrentUser().getId());
request.getParams().put("userId", UserUtil.getLoginUser().getId());
return PageTableHandler.<NoticeReadVO> builder().countHandler(new CountHandler() {

View File

@ -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<Permission> permissionsCurrent() {
List<Permission> list = UserUtil.getCurrentPermissions();
if (list == null) {
User user = UserUtil.getCurrentUser();
SysUser user = UserUtil.getCurrentUser();
list = permissionDao.listByUserId(user.getId());
UserUtil.setPermissionSession(list);
}

View File

@ -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<SysLogs> list(PageTableRequest request) {
return PageTableHandler.<SysLogs> builder().countHandler(new CountHandler() {

View File

@ -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获取用户")

View File

@ -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;