gpt4 book ai didi

c# - 仅以 SA 用户身份运行的 Azure SQL 数据库存储过程

转载 作者:行者123 更新时间:2023-12-03 02:03:40 26 4
gpt4 key购买 nike

我有一个托管在 Azure 上的 ASP.NET MVC 应用程序。我使用 OpenIdConnect/Owin 和 Azure AD Integrated 进行身份验证。我有一个错误日志表,其中包含 UserId仅显示 SA 用户名的列。我还有带有 CreatedBy 的表格/ModifiedBy仅显示 SA 用户名的列。这些记录是通过存储过程创建的。

我已授予对我的用户帐户的执行访问权限,但列继续设置为 SA 用户名。我唯一能想到的是一个连接字符串,该字符串导致该值仅为 SA 用户名。

如何让存储过程以创建/更新记录的用户身份运行以设置 UserId , CreatedByModifiedBy列到其用户名?

更新:我已经缩小了原因。当我将应用程序部署到 Azure 时,在“发布”->“设置”->“数据库”下,为 DbContext 输入连接字符串。目前,我有一个 Data Source=tcp:servername.database.windows.net,1433;Initial Catalog=dbname;User ID=myusername;Password=StrongPassword123;Encrypt=True;TrustServerCertificate=False

我之前尝试过以下操作:Data Source=tcp:servername.database.windows.net,1433;Initial Catalog=dbname;Persist Security Info=False;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication=Active Directory Integrated; ,但收到错误“指定域名的格式无效。”

最佳答案

How can I get the stored procedures to run as the user thatcreated/updated the records to set the UserId, CreatedBy andModifiedBy columns to its username?

你不知道。您将这些值传递到存储过程中。这样想:您认为 csharpdev 对 Stack Overflow 数据库有写权限吗?当然不是;后端代码将您的用户 ID 传递到创建记录的存储过程中。

关于c# - 仅以 SA 用户身份运行的 Azure SQL 数据库存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75363631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com