将Java web服务与Unix安全性集成
我正在使用JBoss在AIX unix机器上托管Java web服务
一些web方法浏览unix文件结构(即GetDirectoryFiles返回传入的目录路径的所有文件)
我希望将其与unix安全性集成,以便调用者在会话级别传入用户名/密码,并且基于与服务器用户集成的用户名/密码,他们将被限制为可以访问哪些文件/目录
例如,如果服务器有一个用户的主目录设置为/home/me,并且无法浏览出其主目录,那么web服务将只允许对方法调用执行相同的操作。他们可以调用'/home/me/dir',但不能调用'/home/notme/dir'(将抛出一个拒绝访问的异常)
我该怎么做呢
# 1 楼答案
您将遇到的问题是JBoss进程已经作为特定用户运行,因此该进程中的线程所做的任何事情都将在该用户的权限下运行
我认为,最简单的方法是以不同的用户身份启动一个新进程,使用运行时完成每个web方法的unix部分。getRuntime()。执行官(…)-见this question