Ejemplo n.º 1
0
 public SecureQuerySession(IQuerySession querySession, ISecurityQueryProvider securityQueryProvider, IMartenContext martenContext)
 {
     _querySession          = querySession;
     _securityQueryProvider = securityQueryProvider;
     _martenContext         = martenContext;
 }
 public static IEnumerable <T> OnlyItemsTheUserCanSee <T>(this IEnumerable <T> results, ISecurityQueryProvider securityQueryProvider, IMartenContext context)
 {
     if (context.User?.Id != null)
     {
         var expression = securityQueryProvider.GetExpression <T>(context.User.Id);
         if (expression != null)
         {
             return(results.Where(expression.Compile()));
         }
     }
     return(results);
 }
 public static IQueryable <T> OnlyItemsTheUserCanSee <T>(this IQueryable <T> query, ISecurityQueryProvider securityQueryProvider, IMartenContext context)
 {
     if (context.User?.Id != null)
     {
         var expression = securityQueryProvider.GetExpression <T>(context.User.Id);
         if (expression != null)
         {
             return(query.Where(expression));
         }
     }
     return(query);
 }
Ejemplo n.º 4
0
 public MartenDocumentSessionListener(IClock clock, IMartenContext context)
 {
     _clock   = clock;
     _context = context;
 }
Ejemplo n.º 5
0
 public static ISecureQuerySession SecureQuerySession(this IDocumentStore store, SessionOptions options, ISecurityQueryProvider securityQueryProvider, IMartenContext martenContext)
 {
     return(new SecureQuerySession(store.QuerySession(options), securityQueryProvider, martenContext));
 }
Ejemplo n.º 6
0
 public static ISecureQuerySession SecureQuerySession(this IDocumentStore store, string tenantId, ISecurityQueryProvider securityQueryProvider, IMartenContext martenContext)
 {
     return(new SecureQuerySession(store.QuerySession(tenantId), securityQueryProvider, martenContext));
 }