Ben bir JSON nesnesi web istekleri için kurallar saklamak için çalışıyorum ve sorun iyi bir yapının düşünerek yaşıyorum. İşte benim kuralları bazı örnekler:
Possible Conditions
the user must be logged in
the user must belong to an account of type [____]
the user must belong to an account named [___]
the user must have a username [___]
the user must have the account role [___]
the current time must be between [___] and [___]
the variable [___] must be set to [___]
Possible Success Actions
allow access to the requested view
redirect to download a specific file
Possible Failure Actions
redirect to a certain view to display reasons why access was denied
redirect to a purchase page
redirect to a login page with a notice explaining why access was denied
Ben tek bir nesne birden fazla kural saklamak gerekir. Ben de böyle mantıksal ilişkileri saklamak gerekiyor:
(rule1 && rule2) || rule3
Nesne yapısı normalde bana kolay geliyor, ama ben birlikte bu koyarak mücadele ediyorum. İşte JSON nesne deposu gerekir gereği bir örnek:
Bir kullanıcı onlar oturum halinde kontrol paneline erişmek ve "Sahipleri" adlı bir hesaba ait olabilir. Kullanıcı hesabının rolünü "Çalışan" varsa, o zaman sadece hafta sonları, Pazartesi-Cuma sırasında değil giriş yapabilirsiniz. Kullanıcı adı "root" varsa ne olursa olsun herhangi bir başka kural giriş yapabilirsiniz. Kuralların hiçbiri başarılı olursa, o zaman kontrol paneline alamıyor özellikle neden bunları söylüyorum bir sayfaya yönlendirir. Örneğin, "Bu hafta sonu ve sadece Pazartesi-Cuma giriş için izin verilir."