Class ReportSecurityManager

java.lang.Object
io.jmix.reports.ReportSecurityManager

@Component("report_ReportSecurityManager") public class ReportSecurityManager extends Object
  • Field Details

  • Constructor Details

    • ReportSecurityManager

      public ReportSecurityManager()
  • Method Details

    • applySecurityPolicies

      public void applySecurityPolicies(LoadContext lc, @Nullable String screen, @Nullable org.springframework.security.core.userdetails.UserDetails userDetails)
      Apply security constraints for query to select reports available by roles and screen restrictions
      Parameters:
      lc - load context
      screen - screen id
      userDetails - user details
    • applyPoliciesByEntityParameters

      public void applyPoliciesByEntityParameters(LoadContext lc, @Nullable MetaClass inputValueMetaClass)
      Apply constraints for query to select reports which have input parameter with class matching inputValueMetaClass
      Parameters:
      lc - load context
      inputValueMetaClass - meta class of input parameter value
    • getAvailableReports

      public List<Report> getAvailableReports(@Nullable String screenId, @Nullable org.springframework.security.core.userdetails.UserDetails user, @Nullable MetaClass inputValueMetaClass)
      Returns a list of reports, available for certain screen, user and input parameter
      Parameters:
      screenId - - id of the screen
      user - - caller user
      inputValueMetaClass - - meta class of report input parameter
      Returns:
      list of available reports
    • wrapCodeParameterForSearch

      protected String wrapCodeParameterForSearch(String value)