Come configurare la regola dell'architetto con più condizionali e risultati

2

Sto lavorando per consentire ai miei utenti di creare il proprio set di regole per i dati in arrivo. Tutti i dati riportati di seguito sono esempi di dati fittizi e non in relazione al nostro prodotto. Esempio di una regola (ce ne possono essere molti):

CONDITIONS: (IF)
1)  title = 'some*'
2)  user = 'john'
OUTCOME: (THEN)
1)  e-mail me
2)  deny request

quindi nella regola precedente se viene fatta una richiesta input?title='something'&user='john'&...

negherebbe la richiesta e invierà un'e-mail all'utente poiché corrisponde alla condizione. se la richiesta è input?title='blah'&user='john' , gli consentirebbe di passare poiché non corrisponde a nessuna regola.

Ho trovato due modi per farlo, ma non ne sono felice e spero che qualcun altro possa avere una soluzione migliore.

Primo metodo

  1. Quando un utente crea una regola genera un file temporaneo in cui scrive tale regola in un linguaggio di programmazione delle istruzioni IF THEN
  2. Quando arriva una nuova richiesta, passa attraverso la lista delle regole di quell'utente nel linguaggio di programmazione e fa le azioni appropriate

Secondo metodo

  1. Quando arriva una nuova richiesta, viene scritta in un db
  2. Tiriamo tutte le condizioni dal db per regole diverse ed eseguiamo una query su quella riga per vedere se corrisponde alle condizioni. Se lo fa, passiamo i risultati allo script per fare il resto

Non sono contento di nessuno dei due giorni. Qualsiasi intuizione o aiuto qui è molto apprezzato.

    
posta Jason K 26.02.2016 - 18:39
fonte

0 risposte

Leggi altre domande sui tag