使用QGIS 1.7时如何保护PostGIS凭证?


16

我相当确定这应该是社区Wiki,但是我不知道如何做到这一点。因此,如果管理员看到此情况,请在适当时进行更改。

那么...使用QGIS 1.7时如何保护PostGIS数据库数据?(我正在使用QGIS 1.7和PostGIS 1.5)

我问的原因是,由于最近有一个服务器更改了名称,因此我在notepad ++中打开了QGIS项目文件以更改数据源字符串中的主机值。当我在notepad ++中编辑项目文件时,每天看到的用户名和密码如下所示。

 <datasource>dbname='spatialdb' host=gis port=9999 user='generaluser' 
              password='gisv13wer' sslmode=disable key='gid' 
              table="gisprod"."aq_pipeline" (the_geom) sql=</datasource>

这似乎有点像一把双刃剑,因为我喜欢这样的事实,即我可以轻松地在数据源字符串中编辑主机值,这样我就不会丢失我的项目,但是我对数据库凭据被删除感到不舒服。坐在那里不加加密,让全世界都可以看到。

作为应急,我已经将所有使用管理员帐户的项目文件放入一个文件夹,该文件夹现在只有我可以访问。但是我认为这不是理想的。

作为GIS管理员,我负责空间数据库的完整性,而且我担心我刚刚将整个数据库暴露给足够好奇的人。我有些沮丧,在评估QGIS时错过了这一点。

那么,如果您处于类似情况,该如何管理这种风险?我的应变能力对于生产环境是否足够好,或者提出QGIS功能请求以解决该问题会更好吗?


也适用于共享QGIS项目的工作场所。
拉斐尔

Answers:


21

不要在连接中选中“保存密码”(和/或“保存用户名”),而QGIS会在需要密码时询问他们。


太好了-我不敢相信我忽略了这一点。当我查看项目文件并在此处弹出惊慌失措的帖子时,我有些somewhat异。
安藤2012年

3

可以从项目文件中手动删除属性,例如用户和密码属性。在您的示例中,您可以使用“查找并替换”来删除“ user ='generaluser'password ='gisv13wer' ”的每个实例。

但是,如果在QGIS设置为记住凭据时添加另一层,则凭据将再次嵌入到项目文件中。

最好的建议是遵循jef的解决方案,并禁用用户名和密码的保存。

但是,如果QGIS在重新保存项目后没有将其删除,则可能必须从现有项目文件中手动删除用户凭据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.