Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET核心:如何在连接字符串中指定Windows身份验证的凭据?_Asp.net_Windows_Amazon Web Services_Kerberos - Fatal编程技术网

ASP.NET核心:如何在连接字符串中指定Windows身份验证的凭据?

ASP.NET核心:如何在连接字符串中指定Windows身份验证的凭据?,asp.net,windows,amazon-web-services,kerberos,Asp.net,Windows,Amazon Web Services,Kerberos,我正在开发一个ASP.NET Core 5.0 web API,我的计划是将其部署到AWS Lambda。为了做到这一点,我需要使用AWS Lambda.NET 5.0基本Docker映像(一个Linux映像)对API进行容器化。不幸的是,这意味着我的数据库的Windows身份验证在容器中不起作用,因为它是Linux,所以我总是会收到一个错误,说: 无法使用Kerberos进行身份验证。确保已在客户端上使用“kinit”初始化Kerberos,并且已为SQL Server注册服务主体名称以允许K

我正在开发一个ASP.NET Core 5.0 web API,我的计划是将其部署到AWS Lambda。为了做到这一点,我需要使用AWS Lambda.NET 5.0基本Docker映像(一个Linux映像)对API进行容器化。不幸的是,这意味着我的数据库的Windows身份验证在容器中不起作用,因为它是Linux,所以我总是会收到一个错误,说:

无法使用Kerberos进行身份验证。确保已在客户端上使用“kinit”初始化Kerberos,并且已为SQL Server注册服务主体名称以允许Kerberos身份验证

每次我尝试访问连接到Microsoft SQL Server数据库的API端点时,都会发生这种情况。我曾尝试在容器中启用Kerberos,但我尝试过的所有方法都没有奏效。我尝试通过添加以下行来实现这一点:

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get -qq update && 
    apt-get -yqq install krb5-user libpam-krb5 && 
    apt-get -yqq clean
<system.web>
  <authentication mode="Windows"/>
  <identity impersonate="true" userName="foo" password="bar"/>
</system.web>
到我的Dockerfile安装Kerberos,但我仍然遇到同样的问题。因此,这就引出了我的实际问题(除非有人能就如何让Kerberos工作提供建议)。我已经决定,如果我可以在应用程序中指定我的windows身份验证凭据,这样容器中的API就可以使用它进行身份验证,这将是最简单的。我必须使用windows身份验证(我没有设置传统身份验证的选项),因此在这一点上,这似乎是最好的解决方案。有可能这样做吗

我已尝试在.csproj文件中设置身份模拟,但添加以下行后无法加载我的项目:

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get -qq update && 
    apt-get -yqq install krb5-user libpam-krb5 && 
    apt-get -yqq clean
<system.web>
  <authentication mode="Windows"/>
  <identity impersonate="true" userName="foo" password="bar"/>
</system.web>

也许这是对的,但我做得不对?看来我也不能在连接字符串中指定用户ID和密码,因为据我所知,Windows身份验证从未使用过用户ID和密码。任何建议都将不胜感激