我在Azure上托管了一个ASP.NET MVC应用程序。我使用OpenIdConnect/Owin和Azure AD集成进行身份验证。我有一个错误日志表,其中UserId
列仅显示SA用户名。我也有一些表的CreatedBy
/ModifiedBy
列只显示SA用户名。这些记录是通过存储过程创建的。
我已经授予了对我的用户帐户的执行权限,但列继续设置为SA用户名。我唯一能想到的是一个连接字符串,它导致值仅为SA用户名。
如何让存储过程以创建/更新记录的用户的身份运行,以将UserId
、CreatedBy
和ModifiedBy
列设置为其用户名?
更新:我已经缩小了原因。当我将应用程序部署到Azure时,在发布->;设置->;数据库,为DbContexts输入连接字符串。目前,我有一个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;
,但收到错误“指定域名的格式无效”