Glassfish 3.1 + Kerberos +数据库角色(JDBC)

时间:2011-08-05 12:33:03

标签: jdbc glassfish kerberos

我无法找到如何从使用Kerberos授权的用户获取数据库(JDBC)的角色。 Kerberos登录正常,但用户没有任何角色。 我使用spnego-r7来运行Kerberos - http://spnego.sourceforge.net/index.html 我找不到任何教程或建议如何做到这一点。 你有什么想法或例子吗?

2 个答案:

答案 0 :(得分:0)

这是你的任务,而不是Kerberos'。 Kerberos完全是身份验证。从响应中传递userprincipal时,在JDBC领域中查找并检索您的角色。这意味着这是一个两步过程。

答案 1 :(得分:0)

您可以(1)以非容器管理的方式处理用户组(即在您的应用程序中)或(2)尝试绑定容器特定的安全机制。我没有成功地使用Glassfish安全性来分配组,但看起来你必须创建至少两个类:一个扩展com.sun.appserv.security.AppservRealm,另一个扩展com.sun.appserv.security.AppservPasswordLoginModule 。前者有一个名为getGroupNames的方法,它以用户名作为参数,后者有一个名为commitUserAuthentication的方法,该方法采用一组组名。不幸的是,目前尚不清楚它应该如何工作并且似乎记录不清楚。更多信息请点击此处http://docs.oracle.com/cd/E19226-01/820-7695/beabs/index.html和此处:https://blogs.oracle.com/nithya/entry/groups_in_custom_realms