当前位置:   article > 正文

【confluence插件开发】实现全员可全局搜索_confluecne 插件

confluecne 插件

在atlassian-plugin.xml中添加

  1. <servlet-filter name="Search by admin Filter" key="searchByAdminFilter"
  2. class="cn.xx.SearchByAdminFilter" location="before-decoration" weight="200">
  3. <url-pattern>/rest/searchv3/1.0/cqlSearch*</url-pattern>
  4. <dispatcher>REQUEST</dispatcher>
  5. <dispatcher>FORWARD</dispatcher>
  6. </servlet-filter>

新建SearchByAdminFilter

  1. package cn.xx.filter;
  2. import com.atlassian.confluence.user.AuthenticatedUserThreadLocal;
  3. import com.atlassian.confluence.user.persistence.dao.ConfluenceUserDao;
  4. import com.atlassian.plugin.spring.scanner.annotation.component.Scanned;
  5. import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;
  6. import javax.inject.Inject;
  7. import javax.inject.Named;
  8. import javax.servlet.*;
  9. import java.io.IOException;
  10. @Scanned
  11. @Named("searchByAdminFilter")
  12. public class SearchByAdminFilter implements Filter {
  13. private ConfluenceUserDao dao;
  14. @Override
  15. public void init(FilterConfig filterConfig) throws ServletException {
  16. }
  17. @Inject
  18. public SearchByAdminFilter(@ComponentImport ConfluenceUserDao dao) {
  19. this.dao = dao;
  20. }
  21. @Override
  22. public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
  23. try {
  24. AuthenticatedUserThreadLocal.set(this.dao.findByUsername("xxxx")); //拥有最大权限账号的username
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. }
  28. filterChain.doFilter((ServletRequest) servletRequest, (ServletResponse) servletResponse);
  29. }
  30. @Override
  31. public void destroy() {
  32. }
  33. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/126181
推荐阅读
相关标签
  

闽ICP备14008679号