我最近一直致力于JBoss Seam项目(v2.1.1),我希望在自定义数据库模式中对LDAP / AD进行验证并存储预先提交。
文档声明这是可能的,我看到了一个对我不起作用的教科书示例,因为数据库模式由Hibernate管理。有没有人做过类似的事情?任何人都可以提供一个很好的例子吗?
提前致谢。 --ctopete
答案 0 :(得分:0)
我亲自开发了这样的解决方案。我已经使用jCifs通过NTLM对所有用户进行身份验证,然后使用用户名/域对从自定义数据库加载角色和权限。
jCifs非常容易配置,只需在web.xml中设置这些过滤器:http://jcifs.samba.org/src/docs/ntlmhttpauth.html
然后在您的Authenticator类中,在authenticate()方法中使用这些来读取用户名和域名:
@Name("authenticator")
public class Authenticator {
@In
Context sessionContext;
...
public boolean authenticate() {
String username = ((NtlmPasswordAuthentication) sessionContext.get("NtlmHttpAuth")).getUsername();
String domain = ((NtlmPasswordAuthentication) sessionContext.get("NtlmHttpAuth")).getDomain();
...
}