我有使用本地sqlserver的应用程序 用于存储data.i的文件为此应用程序创建了一个安装包,但是 我想让数据库文件(* .mdf)隐藏在用户视线之外。 事实上,我不希望他/她能够看到表格或其他细节 数据库,而他/她可以通过我的Windows应用程序使用它。 有什么解决方案吗?
答案 0 :(得分:1)
如果数据库位于用户的计算机上,并且您最担心用户访问它,那么您可能需要重新评估您的体系结构。网络解决方案是否可行?
答案 1 :(得分:0)
您可以将其设为隐藏文件:
File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
但最好的办法是不在用户机器上保存任何机密内容,总有办法破坏安全性。您也可以加密数据库,但正如评论员指出的那样,这也是不安全的。
答案 2 :(得分:0)
最佳解决方案是限制数据库本身的权限。如果使用存储的porcs访问数据,则不会在表上授予用户select / insert / update或delete权限,然后他们就看不到它们,并且只能执行允许执行的存储过程才能执行。当然,如果你使用任何动态sql,这将无法工作,但你不应该这样做。