SQL Server 2008之存储过程的设计和实现(二)
ECUTE AS语句用来设置存储过程的执行上下文,用来重写默认的安全上下文;支持显式模拟,使用单独的EXECUTE AS语句,还支持隐式模拟,在modules上使用EXECUTE AS语句,为了在另外一个用户上执行,必须拥有在那个用户上的IMPERSONATE权限
EXECUTE AS LOGIN或者在服务器范围上的module使用EXECUTE AS语句,其范围是服务器级别的,即切换上下文后,模拟登录的用户拥有的权限的资源都可以访问;EXECUTE AS USER或者在
数据库级别module上使用EXECUTE AS语句,意味着引用超出数据库范围外的对象都将返回错误
sys.login_token系统视图展示所有login相关的token,包括login本身以及用户所属角色的token;sys.user_token系统视图展示用户相关的token