我希望能够拥有一个只能从特定页面使用的存储过程,而无需为用户创建权限/角色,而只需要以这种方式访问单个存储过程。如何控制对SQL Server中存储过程的访问?
例如我想要一个proc_GetCustomerItems存储过程,它接受CustomerID的参数,然后返回客户已购买的项目列表,但是我希望这仅适用于列出客户项目的地方,例如。 ASP页面显示这个列表,但不能从其他任何地方工作,如查询分析器等。
这是用另一个参数来提供额外的安全信息,基本问题是如何只允许某些方法和页面访问一个存储过程,这可以通过角色或权限来完成吗?
主要问题是如何正确设置存储过程对代码中特定方法的访问权限,这将有助于强制使用所述存储过程,因此必须明确允许GetCustomerItems方法(在ASP中为例如)使用此存储过程的权限。
我猜测角色和用户访问将成为建议的替代方案,但我会感兴趣的是,如果可以通过调用存储过程来限制对存储过程的访问,我会感兴趣。
我有一种感觉,情况是这样,但我想我会问,因为这是我想知道作为一种可能的选择。无论如何,这可能很有用,因为它显示SQL安全功能可以基于连接提供此功能,该页面可以像上述那样使用该功能。 – RoguePlanetoid 2009-11-06 15:03:37