JetLinksApplication.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package org.jetlinks.community.standalone;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.hswebframework.web.authorization.basic.configuration.EnableAopAuthorize;
  4. import org.hswebframework.web.authorization.events.AuthorizingHandleBeforeEvent;
  5. import org.hswebframework.web.crud.annotation.EnableEasyormRepository;
  6. import org.hswebframework.web.loggin.aop.EnableAccessLogger;
  7. import org.hswebframework.web.logging.events.AccessLoggerAfterEvent;
  8. import org.springframework.boot.SpringApplication;
  9. import org.springframework.boot.autoconfigure.SpringBootApplication;
  10. import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  11. import org.springframework.cache.annotation.EnableCaching;
  12. import org.springframework.context.annotation.Profile;
  13. import org.springframework.context.event.EventListener;
  14. import org.springframework.stereotype.Component;
  15. import javax.annotation.PostConstruct;
  16. @SpringBootApplication(scanBasePackages = "org.jetlinks.community", exclude = {
  17. DataSourceAutoConfiguration.class
  18. })
  19. @EnableCaching
  20. @EnableEasyormRepository("org.jetlinks.community.**.entity")
  21. @EnableAopAuthorize
  22. @EnableAccessLogger
  23. @Slf4j
  24. public class JetLinksApplication {
  25. public static void main(String[] args) {
  26. SpringApplication.run(JetLinksApplication.class, args);
  27. }
  28. @Profile("dev")
  29. @Component
  30. @Slf4j
  31. public static class AdminAllAccess {
  32. @PostConstruct
  33. public void init() {
  34. // TODO: 2020/1/4 严重影响性能,谨慎开启
  35. // Hooks.onOperatorDebug();
  36. }
  37. @EventListener
  38. public void handleAuthEvent(AuthorizingHandleBeforeEvent e) {
  39. //admin用户拥有所有权限
  40. if (e.getContext().getAuthentication().getUser().getUsername().equals("admin")) {
  41. e.setAllow(true);
  42. }
  43. }
  44. @EventListener
  45. public void handleAccessLogger(AccessLoggerAfterEvent event) {
  46. log.info("{}=>{} {}-{}", event.getLogger().getIp(), event.getLogger().getUrl(), event.getLogger().getDescribe(), event.getLogger().getAction());
  47. }
  48. }
  49. }