[Fri, 29 Jun 2001, 17:44:50 +0700 0.7K] 1M3D menulis (diedit):
% Aloo,
% 
% Ada yang pernah design access privileges dgn MySQL untuk menu-menu di
% Intranet enggak?
% contoh menunya:
% 
% User Login.....!
% 
% 1. Intranet
%    1.1 >Menu11
%        1.1.1 >Menu111
%               1.1.1.1 >Menu1111
%                       dst........dst
%               1.1.1.2 >Menu1112
%        1.1.2 >Menu112
%    1.2 >Menu2
---end quoted text---

        Apa yang dimaksud dengan privilase akses adalah menyediakan
        sekumpulan menu ('menu set') untuk pemakai berdasarkan grup?
        Sehingga setiap pemakai yang login akan memperoleh menu yang
        ('access privilage') berbeda dengan lainnya, sesuai grup.

        Buat tabel untuk berisi relasi pemakai dan grup, misalkan

        T_USER_GRUP     berisi field:
                TUSER_GRUP_ID           (primary key)
                TUSER_GRUP_USER_ID      (user id)
                TUSER_GRUP_GRUP_ID      (group id)


        Kemudian, susun daftar menu yang digunakan berdasarkan grup,

        T_GRUP_MENU     berisi field
                TGRUP_MENU_ID           (primary key)
                TGRUP_MENU_GRUP_ID      (group id)
                TGRUP_MENU_MENU         (nama menu, ditampilkan)
                TGRUP_MENU_DESC         (deskripsi menu, biasanya untuk
                                        status bar)
                TGRUP_MENU_EXEC         (modul/subrutin id yang akan
                                        dieksekusi apabila menu dipilih)

        Untuk menggambarkan struktur menu dalam bentuk pohon, bisa
        digunakan aturan yang disimpan di dalam TGRUP_MENU_ID:

                10000           (menu utama nomor 1)
                11000           (sub-menu 1 dari menu1)
                12000           (sub-menu 2 dari menu1)
                11100           (sub-menu dari submenu pertama dari
                                menu1)
                dst.

        Sehingga untuk mengumpulkan sub-menu pertama dari menu1, gunakan
        statemen SQL:

        select * from T_GRUP_MENU where left(TGRUP_MENU_ID, 2)
                between '11' and '19';

        Kira-kira begitu.

-- 
amal
        Ayo tersenyum: negeri ini memerlukannya


-- 
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3

Kirim email ke