我创建了一个用户app.Use(async (context, next) => {
await next();
if (context.Response.StatusCode == 404 &&
!Path.HasExtension(context.Request.Path.Value) &&
context.Request.Path.Value.StartsWith("/AngularWebApp/")) {
context.Request.Path = "/AngularWebApp/index.html";
await next();
}
});
,并将其分配给新创建的角色testUser
。
然后,我创建了以下过程:
executive
并授予执行该存储过程以角色的权限:
CREATE PROC dbo.spTest
AS
BEGIN
SELECT FirstName, LastName
FROM dbo.Emp
END
当我尝试使用GRANT EXECUTE ON dbo.spTest TO executive
执行存储过程时,收到以下错误消息:
对对象'Emp',数据库,模式'dbo'的SELECT权限被拒绝
我在网上阅读的所有内容都说testUser
行应该有效,但显然行不通。我还读到如果对于动态SQL会出现此错误消息,但是我很确定这是静态的。
我不知道为什么它不起作用。有人可以帮忙吗?
编辑:我不想授予Emp表SELECT权限(具有敏感数据)。