SessionController.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.ifast.sys.controller;
  2. import com.ifast.common.annotation.Log;
  3. import com.ifast.common.utils.Result;
  4. import com.ifast.sys.domain.UserOnline;
  5. import com.ifast.sys.service.SessionService;
  6. import org.apache.shiro.session.Session;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Controller;
  9. import org.springframework.web.bind.annotation.GetMapping;
  10. import org.springframework.web.bind.annotation.PathVariable;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RequestParam;
  13. import org.springframework.web.bind.annotation.ResponseBody;
  14. import org.springframework.web.servlet.mvc.support.RedirectAttributes;
  15. import java.util.Collection;
  16. import java.util.List;
  17. /**
  18. * <pre>
  19. * </pre>
  20. * <small> 2018年3月23日 | Aron</small>
  21. */
  22. @RequestMapping("/sys/online")
  23. @Controller
  24. public class SessionController {
  25. @Autowired
  26. SessionService sessionService;
  27. @GetMapping()
  28. public String online() {
  29. return "sys/online/online";
  30. }
  31. @ResponseBody
  32. @RequestMapping("/list")
  33. public List<UserOnline> list(@RequestParam(required=false) String name) {
  34. return sessionService.list(name);
  35. }
  36. @Log("强踢用户下线")
  37. @ResponseBody
  38. @RequestMapping("/forceLogout/{sessionId}")
  39. public Result<String> forceLogout(@PathVariable("sessionId") String sessionId, RedirectAttributes redirectAttributes) {
  40. try {
  41. sessionService.forceLogout(sessionId);
  42. return Result.ok();
  43. } catch (Exception e) {
  44. e.printStackTrace();
  45. return Result.fail();
  46. }
  47. }
  48. @ResponseBody
  49. @RequestMapping("/sessionList")
  50. public Collection<Session> sessionList() {
  51. return sessionService.sessionList();
  52. }
  53. }