我正在编写一个 JACC
提供程序。
在这个过程中,这意味着实现一个 PolicyConfiguration
。
PolicyConfiguration
负责从应用程序服务器接收配置信息,比如哪些权限应该由哪些角色负责。这样,Policy
稍后就可以在交给 关于当前用户的信息时做出授权决定,以及他想要做什么。
然而,维护角色及其权限和分配给这些角色的 Principals
之间的映射并不是 PolicyConfiguration
(糟糕的)契约的一部分。
通常——实际上总是——应用程序服务器保存这种映射。例如,在 Glassfish 上,通过向 JavaEE 模块提供 sun-web.xml
和 sun-ejb-jar.xml
等内容来影响这种映射。(这些特定于供应商的文件负责说明,例如,superusers
是一个将被分配 admins
应用程序角色的组。)
我希望重用这些文件提供的功能,并且希望尽可能广泛地对应用程序服务器进行重用。
这里是——完全武断地—— IBM 对这个问题的看法,这似乎证实了我的猜测,即 我想做的基本上是不可能的。(对我来说,这个特殊的 JavaEE 协议不值得印刷在纸上的更多证据。)
我的问题是: 对于初学者来说,如何从 PolicyConfiguration
中获得 Glassfish 和 JBoss 中的主体到角色映射信息?如果有我不知道的标准方法,我洗耳恭听。