Kasiyer Rolleri ve Yetkiler
HandyCafe, her personelin sistem içinde neleri görebileceğini ve yapabileceğini yönetmek için role dayalı erişim kontrolü (RBAC) kullanır. Her kasiyere bir rol atanır ve bu rol uygulama genelindeki tam yetkilerini belirler.
Rol Türleri
HandyCafe üç tür rol sağlar:
Yönetici
Yönetici rolü sistemdeki her özelliğe sınırsız erişim sağlar. Yöneticiler kasiyerleri yönetebilir, tüm raporları görüntüleyebilir, ayarları değiştirebilir ve her işlemi gerçekleştirebilir. Bu rol, tam kontrole ihtiyaç duyan kafe sahipleri ve üst düzey yöneticiler için tasarlanmıştır.
Sistemde her zaman en az bir Yönetici hesabı bulunur. Yönetici rolü silinemez veya yetkileri azaltılamaz.
Varsayılan
Varsayılan rol özel bir yetki atanmamış roldür. Varsayılan role sahip bir kasiyer giriş yapabilir ve temel işlemleri gerçekleştirebilir ancak üye yönetimi, raporlama veya konsol yapılandırması gibi kısıtlı alanlara erişemez. Yalnızca temel görevleri üstlenmesi gereken yeni personel için başlangıç noktası olarak kullanın.
Özel
Özel roller bir kasiyerin tam olarak hangi yetkilere sahip olacağını tanımlamanıza olanak tanır. Bir ad seçin, bir seviye belirleyin ve altı kategori genelinde tek tek yetki işaretlerini işaretleyin veya kaldırın. Bu size her personelin erişebileceği alanlar üzerinde ayrıntılı kontrol sağlar.
Yetki Kategorileri
HandyCafe'de 6 kategoriye organize edilmiş 22 bireysel yetki işareti bulunur. Her işaret sistem içindeki belirli bir eylemi veya görünümü kontrol eder.
1. Kimlik Doğrulama (1 işaret)
| İşaret | Açıklama |
|---|---|
| CLIENT_LOGIN | Kasiyerin istemci bilgisayarlarda oturum açmasına (müşteriler adına oturum başlatmasına) izin verir |
Bu yetki olmadan bir kasiyer istemci oturumlarını başlatamaz veya yönetemez.
2. Üyeler (6 işaret)
| İşaret | Açıklama |
|---|---|
| VIEW | Üye listesini ve üye detaylarını görme |
| ADD | Yeni üye hesapları oluşturma |
| DELETE | Üye hesaplarını sistemden kaldırma |
| UPDATE | Mevcut üye bilgilerini düzenleme (ad, bakiye vb.) |
| DISPLAY_EMAIL | Üye listesinde üye e-posta adreslerini görüntüleme |
| DISPLAY_GSM | Üye listesinde üye telefon numaralarını görüntüleme |
Yalnızca VIEW yetkisine sahip bir kasiyer üye listesine göz atabilir ancak hiçbir üye oluşturamaz, düzenleyemez veya silemez. DISPLAY_EMAIL ve DISPLAY_GSM işaretleri hassas iletişim bilgilerinin görünüp görünmeyeceğini kontrol eder. Tüm personelin kişisel verileri görmemesi gereken gizlilik uyumluluğu için kullanışlıdır.
3. Konsollar (4 işaret)
| İşaret | Açıklama |
|---|---|
| VIEW | Konsollar sayfasını ve konsol durum kartlarını görme |
| ADD | Sisteme yeni oyun konsolları kaydetme |
| DELETE | Sistemden konsol kaldırma |
| UPDATE | Konsol detaylarını düzenleme (ad, MAC adresi, fiyatlandırma) |
4. Kayıtlar (4 işaret)
| İşaret | Açıklama |
|---|---|
| VIEW | Kayıtlar sayfasına erişim |
| DISPLAY_FULL | Tam kayıt geçmişini görüntüleme (tüm tarihler) |
| DISPLAY_TODAY | Yalnızca bugünkü kayıt girişleri görüntüleme |
| DELETE | Kayıt girişlerini silme |
Bir kasiyer VIEW ve DISPLAY_TODAY yetkisine sahip ancak DISPLAY_FULL yetkisi yoksa yalnızca geçerli günün kayıt girişlerini görebilir. Geçmiş kayıtlara erişim gerektirmeden mevcut aktiviteyi izlemesi gereken vardiya amirleri için kullanışlıdır.
5. Raporlar (3 işaret)
| İşaret | Açıklama |
|---|---|
| PAGE_VIEW | Raporlar/kasa raporu sayfasına erişim |
| DISPLAY_FULL | Tam rapor geçmişini görüntüleme (tüm tarihler) |
| DISPLAY_TODAY | Yalnızca bugünkü rapor verilerini görüntüleme |
Kayıtlara benzer şekilde rapor yetkileri personelin tam mali geçmişi mi yoksa yalnızca günün rakamlarını mı görebileceğini kontrol etmenizi sağlar. PAGE_VIEW ve DISPLAY_TODAY yetkisine sahip bir kasiyer kendi vardiyasının işlemlerini inceleyebilir ancak geçmiş gelir verilerine erişemez.
6. Ödeme Yöntemleri (4 işaret)
| İşaret | Açıklama |
|---|---|
| MANAGE | Ödeme yöntemleri yönetim alanına erişim |
| ADD | Yeni ödeme yöntemleri oluşturma (nakit, kart, mobil ödeme vb.) |
| DELETE | Sistemden ödeme yöntemlerini kaldırma |
| UPDATE | Mevcut ödeme yöntemi detaylarını düzenleme |
Özet
| Kategori | İşaretler | Toplam |
|---|---|---|
| Kimlik Doğrulama | CLIENT_LOGIN | 1 |
| Üyeler | VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL, DISPLAY_GSM | 6 |
| Konsollar | VIEW, ADD, DELETE, UPDATE | 4 |
| Kayıtlar | VIEW, DISPLAY_FULL, DISPLAY_TODAY, DELETE | 4 |
| Raporlar | PAGE_VIEW, DISPLAY_FULL, DISPLAY_TODAY | 3 |
| Ödeme Yöntemleri | MANAGE, ADD, DELETE, UPDATE | 4 |
| Toplam | 22 |
Yetkiler Nasıl Çalışır
Her yetki kategorisinde bir dizi bireysel yetki işareti bulunur. Her işaret rol düzenleyicisindeki onay kutularıyla bağımsız olarak etkinleştirilebilir veya devre dışı bırakılabilir.
Arayüz her yetki için onay kutuları sağlar. Vermek veya iptal etmek istediğiniz yetkileri işaretleyin veya işaretini kaldırın. Sistem alt yapıdaki depolamayı otomatik olarak yönetir. Herhangi bir değeri elle hesaplamanız gerekmez.
Örneğin Üyeler kategorisinde VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL ve DISPLAY_GSM yetkilerini bağımsız olarak etkinleştirebilir veya devre dışı bırakabilirsiniz. Yalnızca VIEW ve UPDATE işaretli bir kasiyer üyeleri görebilir ve düzenleyebilir ancak ekleyemez veya silemez.
Kasiyer Hesabı Oluşturma
- Sunucu uygulamasında Yönetim > Kasiyerler bölümüne gidin.
- Kasiyer Ekle düğmesine tıklayın.
- Kasiyerin kullanıcı adını girin. Bu giriş için kullanılacaktır.
- Bir parola belirleyin. Güçlü bir parola seçin. Bu hesap mali verilere ve müşteri bilgilerine erişim sağlayabilir.
- Açılır menüden bir rol seçin. Yönetici, Varsayılan veya oluşturduğunuz herhangi bir özel rolü seçebilirsiniz.
- Hesabı oluşturmak için Kaydet'e tıklayın.
Yeni kasiyer artık kimlik bilgileriyle HandyCafe sunucusuna giriş yapabilir.
Özel Rol Oluşturma
- Sunucu uygulamasında Yönetim > Kasiyer Rolleri bölümüne gidin.
- Rol Ekle düğmesine tıklayın.
- Bir rol adı girin (örneğin "Vardiya Amiri", "Yeni Kasiyer", "Gece Personeli").
- Rol seviyesini belirleyin. Daha yüksek seviyeler daha fazla yetki gösterir. Bu görüntülem sıralaması ve organizasyon hiyerarşisi için kullanılır.
- Altı kategorinin tamamında tek tek yetkileri işaretleyin veya kaldırın. Her onay kutusu 22 yetki ayarından birine karşılık gelir.
- Rolü oluşturmak için Kaydet'e tıklayın.
Oluşturulan rol herhangi bir kasiyer hesabına atanabilir.
Sunucu Tarafında Zorunlu Kılma
Yetkiler yalnızca arayüzde gizlenmez, sunucu tarafında zorla uygulanır. Birisi istemci arayüzünü atlasa veya ön yüz kodunu manipüle etse bile sunucu her isteği kasiyerin rol yetkilerine göre doğrular ve ancak sonra çalıştırır.
Bu şu anlama gelir:
- MEMBER_DELETE yetkisi olmayan bir kasiyer doğrudan API isteği gönderse bile bir üyeyi silemez.
- REPORT_DISPLAY_FULL yetkisi olmayan bir kasiyer sisteme nasıl erişirse erişsin geçmiş rapor verilerini alamaz.
- Tüm yetki kontrolleri herhangi bir veritabanı işlemi gerçekleştirilmeden önce Rust arka ucunda yapılır.
Güvenlik: Hız Sınırlandırma
Kaba kuvvet saldırılarına karşı koruma sağlamak için HandyCafe giriş hız sınırlandırması uygular:
- 10 dakikalık pencere içinde 5 başarısız giriş denemesi otomatik kilitlenme tetikler.
- Kilitlenme 15 dakika sürer. Bu süre boyunca ilgili hesap için giriş denemesi kabul edilmez.
- Kilitlenme süresi dolduktan sonra kasiyer tekrar deneyebilir.
Bu hem sunucu giriş ekranında hem de istemci bilgisayarlardaki kasiyer girişinde geçerlidir.
Vardiya Yönetimi
Her kasiyerin faaliyeti vardiyası boyunca bireysel olarak takip edilir:
- Tüm işlemler (oturum ödemeleri, sipariş ödemeleri vb.) kasiyerin kimliğiyle kaydedilir.
- Kasa her kasiyerin vardiyası için açılış ve kapanış bakiyesini ayrı ayrı takip eder.
- Kasiyer bazında vardiya raporları oluşturulabilir. Bu raporlar kasiyerin vardiyası boyunca ne kadar gelir işlediğini gösterir.
- Kasiyer çıkış yaptığında vardiyası kapanır ve inceleme için bir özet sunulur.
Kasiyer bazlı takip hesap verilebilirliği sağlar ve her vardiya sonunda tutarsızlıkları kolayca belirlemeyi mümkün kılar.
Yetki Örnekleri
Senaryo 1: Temel Kasiyer Yalnızca oturum başlatıp durdurmaya ve ödeme almaya gereksinim duyan yeni bir personel. Yalnızca CLIENT_LOGIN etkinleştirilmiş özel bir rol atayın. Üyeleri, raporları, kayıtları veya konsolları görüntüleyemez.
Senaryo 2: Vardiya Amiri Salonu denetleyen güvenilir bir çalışan. CLIENT_LOGIN, MEMBER_VIEW, MEMBER_UPDATE, CONSOLE_VIEW, REPORT_PAGE_VIEW ve REPORT_DISPLAY_TODAY yetkilerine sahip bir rol atayın. Oturumları yönetebilir, üyeleri görüntüleyebilir (ancak silemez), konsolları görebilir ve bugünkü geliri kontrol edebilir. Tam geçmiş raporlara erişemez veya ödeme yöntemlerini değiştiremez.
Senaryo 3: Gece Müdürü Gece vardiyasını bağımsız olarak yöneten bir müdür. MEMBER_DELETE, LOG_DELETE ve PAYMENT_METHOD_DELETE dışında çoğu yetkiyi verin. Vardiyası boyunca her şeyi yönetebilir ancak kritik verileri kalıcı olarak silemez.
Senaryo 4: Gizlilik Kısıtlamalı Personel Müşteri iletişim bilgilerini görmemesi gereken bir kasiyer. MEMBER_VIEW etkin ancak DISPLAY_EMAIL ve DISPLAY_GSM devre dışı olacak şekilde bir rol oluşturun. Üyeleri ada göre arayabilir ancak kişisel iletişim bilgileri gizlenir.