Java类能否模拟另一个Windows用户?

Java类能否模拟另一个Windows用户?,java,windows,tomcat,servlets,ldap,Java,Windows,Tomcat,Servlets,Ldap,我有一个JavaServlet类,它正在访问NetApp文件夹中的文件。该类在Windows 2003上的Tomcat 6.0上运行,并使用Active Directory身份验证(LDAP)对webapp用户进行身份验证 Tomcat(以及带有JavaServlet类的webapp)本身正在使用accountxyz运行,这是一个服务帐户。NetApp文件夹在某些组上设置了各种权限 现在,我通过发出广告查询来检查webapp用户是否属于这些组: "cmd.exe /C dsquery user

我有一个JavaServlet类,它正在访问NetApp文件夹中的文件。该类在Windows 2003上的Tomcat 6.0上运行,并使用Active Directory身份验证(LDAP)对webapp用户进行身份验证

Tomcat(以及带有JavaServlet类的webapp)本身正在使用account
xyz
运行,这是一个服务帐户。NetApp文件夹在某些组上设置了各种权限

现在,我通过发出广告查询来检查webapp用户是否属于这些组:

"cmd.exe /C dsquery user -samid <username> dsget user -memberof -expand|grep -f <filename containing groups>"
“cmd.exe/C dsquery user-samid dsget user-memberof-expand | grep-f”

这有点乏味,而且容易出错,因为如果有人将新组添加到NetApp中的文件夹中,除非我更新组文件,否则上述命令将失败。那么,有没有办法在Java中模拟访问用户ID,直接从netapp获取文件并通过上面的AD检查?

您有没有看过Java的LDAP库,如OpenLDAP、LDAPTemplate等? 一个有趣的阅读,以掌握更多的背景对这个问题可能是