我正在使用 JBoss 在 AIX unix 机器上托管 Java Web 服务。
一些网络方法浏览unix文件结构(IE GetDirectoryFiles返回传入目录路径的所有文件)。
我想将其与 unix 安全性集成,以便调用者在 session 级别传递用户名/密码,并且根据与服务器用户。
例如,如果服务器有一个用户,他们的主目录设置为/home/me 并且无法浏览他们的主目录,Web 服务将只允许相同的方法调用。他们可以调用“/home/me/dir”但不能调用“/home/notme/dir”(会抛出访问被拒绝的异常)。
我该怎么做?
最佳答案
您将遇到的问题是 JBoss 进程已经作为特定用户运行,因此该进程中的线程所做的任何事情都将在该用户的权限下运行。
我认为,最简单的方法是使用 Runtime.getRuntime().exec(...) 作为不同的用户启动一个新进程来完成每个 Web 方法的 unix 部分 - 请参阅 this question
关于java - 将 Java Web 服务与 Unix 安全集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291295/