AdminSession.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.qmth.ops.api.security;
  2. import com.qmth.boot.core.exception.UnauthorizedException;
  3. import com.qmth.boot.core.security.model.AccessEntity;
  4. import com.qmth.ops.api.dto.LoginResult;
  5. import com.qmth.ops.biz.domain.User;
  6. import com.qmth.ops.biz.service.UserPermissionService;
  7. public class AdminSession implements AccessEntity {
  8. private User user;
  9. private UserPermissionService userPermissionService;
  10. public AdminSession(User user, UserPermissionService userPermissionService) {
  11. this.user = user;
  12. this.userPermissionService = userPermissionService;
  13. }
  14. public LoginResult getLoginResult(String fileServer) {
  15. LoginResult result = new LoginResult();
  16. result.setId(user.getId());
  17. result.setName(user.getName());
  18. result.setRole(user.getRole());
  19. result.setSession(getIdentity());
  20. result.setToken(getSecret());
  21. result.setFileServer(fileServer);
  22. return result;
  23. }
  24. public User getUser() {
  25. return user;
  26. }
  27. public void permissionCheck(Permission permission) {
  28. if (!userPermissionService.hasPermission(user, permission, null)) {
  29. throw new UnauthorizedException("没有[" + permission.getName() + "]操作权限");
  30. }
  31. }
  32. public void permissionCheck(Permission permission, Object data) {
  33. if (!userPermissionService.hasPermission(user, permission, data)) {
  34. throw new UnauthorizedException("没有[" + permission.getName() + "]操作权限");
  35. }
  36. }
  37. @Override
  38. public String getIdentity() {
  39. return user.getId().toString();
  40. }
  41. @Override
  42. public String getSecret() {
  43. return user.getAccessToken();
  44. }
  45. }