why "Eve can retrieve data from the sales.order table by executing sales.getorders"? 20CSDN]

发布时间:2016-12-6 18:14:12 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"why "Eve can retrieve data from the sales.order table by executing sales.getorders"? 20CSDN]",主要涉及到why "Eve can retrieve data from the sales.order table by executing sales.getorders"? 20CSDN]方面的内容,对于why "Eve can retrieve data from the sales.order table by executing sales.getorders"? 20CSDN]感兴趣的同学可以参考一下。

微软elearning sql2005 有这段,Alice可以执行sp,可是Eve怎么有权限呢? 原文如下: Using the EXECUTE AS Clause In this example, you will learn how to use the EXECUTE AS clause. In the AdventureWorks database, a user named Bob has created a table named sales.orders and granted Alice SELECT permission on it. Bob has not granted any permissions to Eve. Eve has created a stored procedure named sales.getorders by executing the following Transact-SQL code: CREATE PROCEDURE sales.getOrdersWITH EXECUTE AS SELFASSELECT * FROM sales.orders Note that the EXECUTE AS SELF clause causes the stored procedure to run using Alice’s credentials. This means that Eve can retrieve data from the sales.order table by executing sales.getorders, even though she has no explicit permissions on the table and there is a break in the ownership chain.

好象不对,看上去是这个教程搞错了 EXECUTE AS SELF is equivalent to EXECUTE AS user_name, where the specified user is the person creating or altering the module 如果是Alice 创建的 sales.getorders,而且给了Eve执行 sales.getorders的权限,那么就对了,这样Eve是能获取数据的,尽管她没有访问其中数据表的权限

上一篇:请教sql 2005队列的具体使用? 20hlq8210]
下一篇:挑战高手,我揣摩好久了搞不定,恳请指教啊???? 50limaowa]

相关文章

相关评论