JetLinksApplication.java 2.2 KB

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