我们有一个带有SQL后端的Access前端。我们在SQL服务器上使用混合模式身份验证。使用该数据库的用户被放置在安全组中,并且该安全组对数据库与用户名/密码建立新连接所需的4个表具有只读访问权限。其中一个表包含Triple DES加密密码。但是,任何人都可以轻松地重新启用shift转换到数据库并建立ODBC连接;我认为可能有更好的解决方案。
我们要完成的是允许用户在使用数据库时访问数据(没有链接表),但阻止他们从任何MS Office产品建立自己的直接ODBC连接。我甚至考虑过尝试去.Net路线,但是我们如何设置这个设置,我仍然需要一个密码,我读过的所有内容都说是存储在app.config文件中加密的连接字符串。在我看来,不要因为该文件随应用程序一起分发而更安全。所以在这两种方法中;用户可以查看加密数据并将其带回家尝试破解它。
有些人可以向我展示我可能缺少的东西,以防止用户使用直接ODBC连接但允许他们在应用程序中拥有提升的权限,而我们不必公开加密密码。