如何让应用程序有足够权限且保证数据库的安全性

皮特胖胖 2015-06-17 08:01:56
用C#/vb.net开发应用程序,需要对数据库进行操作,这些操作都是调用的存储过程中执行的,
但应用程序只要有数据库的连接字符串,就能连接到数据库了,如果用户知道了连接字符串,那就不安全了,
我的问题来了:
如何让应用程序有足够的权限执行存储过程,但是不能查看数据库的表,不能通过T-SQL语句对表进行增删改查操作,不能查看存储过程的源代码,以及其他危险操作。。

PS:存储过程中除了有一系列对表的数据新增、修改、删除等等操作,还有调用了一些表值函数和标量值函数,有些标量值函数是我自己编写的CLR程序集加进去的,比如正则表达式函数等等,所以也要确保它们可以运行。

虽然是很基础的问题,但是我不会,还望各位不吝赐教。。尽可能写详细点,谢谢!
...全文
270 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-06-18
  • 打赏
  • 举报
回复
用 sp_setapprole 就可以了,什么程序都一样。
关于VB访问远程SQL数据库安全问题
0808xyj 2015-06-18
  • 打赏
  • 举报
回复
数据库安全加固
薛定谔的DBA 2015-06-18
  • 打赏
  • 举报
回复
创建登录,映射数据库用户。 打开:你的数据库——安全性——用户——(右键)属性——(选择)安全对象——搜索 可以搜索到你的存储过程,给该用户执行权限(execute) 同时在【常规】项,角色成员勾选【db_denydatareader】【db_denydatawriter】,即拒接读写。 但是存储过程内部的对表读写是可以的
hery2002 2015-06-17
  • 打赏
  • 举报
回复
1.数据库连接字符串保存在web.config中,通过asp.net的aspnet_iis.exe来加密 ---------------数据库连接字符串的加密与解密--------------- ASP.NET web.config中,数据库连接字符串的加密与解密。 方法:开始--->运行,输入cmd,接着输入以下内容 加密: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径" 解密: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "你的Web项目路径" .NET为版本的路径自行修改,其中connectionStrings连接字符串的名称。 需要注意的是,加密过程中使用了一个基于本机的密钥,这意味着解密过程必须在同一台计算机上完成。如果是将加密后的Web.config文件移动到其它计算机上,那么Web.config文件中的连接字符串将不能够正常解密。 ----------------------------------------------------------------------------------------------------------------------------------------- ASP.net2.0提供了简便的加密方法,即使用aspnet_iis.exe命令,该命令位置如下: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 注意,具体情况视系统位置及版本号有所差异 在命令模式下进入该目录即可运行,完整命令为: aspnet_iis -pef "connectionStrings" "Web.cofing绝对路径(注:不需要输入web.config)" 如果正常会提示“成功”,此时打开Web.config会发现字符串已加密 解密命令为: aspnet_iis -pdf "connectionStrings" "Web.cofing绝对路径(注:不需要输入web.config)" 注意的是加密、解密必须在一台机器上完成。 ----------------------- 2.连接用户设置为只能执行这些存储过程,不要将函数,存储过程等设置为PUBLIC权限, 3.限制该连接用户只能访问对应的那些表,存储过程和函数。 其实做好第一步,后面的就不需要做了。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧