我正在使用 JAVA (J2SE) 开发桌面应用程序。
我的应用程序。存储一些有关用户的数据。
该应用程序。是多用户的,将安装在单个工作站上。
每个用户都可以拥有一些应存储在文件系统中的文档(例如图像、音频……)
我需要保护这些文件不被未经授权的用户直接访问。
用户在应用程序本身中定义(我需要只能通过应用程序访问文件)
如何保护这些文件免遭未经授权的访问?
我考虑过将文件存储在另一个系统中并通过网络访问它们。
我如何在 JAVA 中执行此操作(在安全网络计算机中存储/检索文件)?
这是一个好方法吗?有更好的解决方案吗?
谢谢
编辑:
说明:
我的用户在应用程序中定义:所有用户使用同一台计算机;所有用户在操作系统中使用相同的用户名登录;每个用户使用自己的用户名/密码登录应用程序;每个用户都应该有权访问应用程序决定的文件。
因此,用户必须无法打开文件管理器并遍历存储文件的目录并复制它们(同时无权访问它们)
最佳答案
不要推出自己的安全解决方案 - 这会很麻烦,几乎肯定有错误,并且很可能容易受到各种攻击 - 只需使用操作系统的文件系统权限即可。
最简单的方法是将您的用户数据写入 home directory当前用户的。其他用户将无法访问它,除非用户明确配置目录的权限以允许他们访问。
如果您愿意,还可以进一步restrict the permissions您的目录。
关于java - 通过将文件置于安全的网络连接后面来保护文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10794077/