Saya menulis JACCpenyedia.
Sepanjang jalan, ini berarti menerapkan a PolicyConfiguration.
The PolicyConfigurationbertanggung jawab untuk menerima informasi konfigurasi dari server aplikasi, seperti yang izin diperoleh yang peran. Ini agar Policynantinya dapat membuat keputusan otorisasi ketika memberikan informasi tentang pengguna saat ini dan apa yang dia coba lakukan.
Namun, itu bukan bagian dari PolicyConfigurationkontrak (mengerikan) untuk mempertahankan pemetaan antara peran dan izin mereka, dan Principalsyang ditugaskan untuk peran itu.
Biasanya - selalu, sungguh - server aplikasi merumahkan pemetaan ini. Misalnya, pada Glassfish, Anda memengaruhi pemetaan ini dengan memasok hal-hal seperti sun-web.xmldan sun-ejb-jar.xmldan seterusnya dengan modul Java EE Anda. (File khusus vendor ini bertanggung jawab untuk mengatakan, misalnya, superusersadalah grup yang akan ditugaskan peran aplikasi admins.)
Saya ingin menggunakan kembali fungsionalitas yang disediakan file-file ini, dan saya ingin melakukannya untuk sebanyak mungkin server aplikasi.
Inilah - benar-benar sewenang-wenang - IBM mengambil masalah ini, yang tampaknya mengkonfirmasi kecurigaan saya bahwa apa yang ingin saya lakukan pada dasarnya tidak mungkin . (Lebih banyak amunisi untuk kasus saya bahwa kontrak Java EE khusus ini tidak sebanding dengan kertas yang dicetak.)
Pertanyaan saya: bagaimana saya mendapatkan informasi pemetaan pokok-ke-peran ini di - sebagai permulaan - Glassfish dan JBoss dari dalam PolicyConfiguration? Jika ada cara standar untuk melakukannya yang tidak saya sadari, saya semua tahu.
Because JSR-115 does not define how to address role mapping, WebLogic JACC classes are used for role-to-principal mapping.Lihat docs.oracle.com/cd/E24329_01/web.1211/e24485/…