Saya menulis JACC
penyedia.
Sepanjang jalan, ini berarti menerapkan a PolicyConfiguration
.
The PolicyConfiguration
bertanggung jawab untuk menerima informasi konfigurasi dari server aplikasi, seperti yang izin diperoleh yang peran. Ini agar Policy
nantinya dapat membuat keputusan otorisasi ketika memberikan informasi tentang pengguna saat ini dan apa yang dia coba lakukan.
Namun, itu bukan bagian dari PolicyConfiguration
kontrak (mengerikan) untuk mempertahankan pemetaan antara peran dan izin mereka, dan Principals
yang 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.xml
dan sun-ejb-jar.xml
dan seterusnya dengan modul Java EE Anda. (File khusus vendor ini bertanggung jawab untuk mengatakan, misalnya, superusers
adalah 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/…