Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
linux上docker中带有windows身份验证的.NET CORE 3.0是否有效?_Linux_Docker_.net Core_Containers - Fatal编程技术网

linux上docker中带有windows身份验证的.NET CORE 3.0是否有效?

linux上docker中带有windows身份验证的.NET CORE 3.0是否有效?,linux,docker,.net-core,containers,Linux,Docker,.net Core,Containers,我试图在dockerlinux容器中使用Visual Studio 2019中的.NET CORE 3.0应用程序解决方案启用windows身份验证,该解决方案使用mcr.microsoft.com/dotnet/CORE/aspnet:3.0映像。我可以在IIS windows容器中使用gMSA帐户进行此设置,但在linux容器和aspnet:3.0中,如果我使用[Authorize]属性且未填充User.Identity.Name,则无法获得凭据提示。如果这是可能的,我从互联网上得到的信号是

我试图在dockerlinux容器中使用Visual Studio 2019中的.NET CORE 3.0应用程序解决方案启用windows身份验证,该解决方案使用mcr.microsoft.com/dotnet/CORE/aspnet:3.0映像。我可以在IIS windows容器中使用gMSA帐户进行此设置,但在linux容器和aspnet:3.0中,如果我使用[Authorize]属性且未填充User.Identity.Name,则无法获得凭据提示。如果这是可能的,我从互联网上得到的信号是混合的,到目前为止还无法找到一个简洁的答案。只是在注册服务JWT/IISDefaults/HttpSysDefaults/Oauth、app.UseAuthentication、修改启动设置和app settings.json时尝试了不同的事情,运气不好。如果有任何帮助,我们将不胜感激。

我在一个项目中遇到了这个问题,我在ASP.NET中成功地得到了如下提示: 在需要授权访问的控制器上方,按如下方式放置authorize属性:

[Authorize(Policy = "SomeExampleGroup")]
[Route("/some-example")]
public class SomeExampleController : Controller {...}
在Startup.cs中的ConfigureServices方法中:

services.AddAuthentication(NegotiateDefaults.AuthenticationScheme).AddNegotiate();
services.AddAuthentication(o => o.DefaultAuthenticateScheme = NegotiateDefaults.AuthenticationScheme);

services.AddAuthorization(options =>
{
    options.AddPolicy("SomeExampleGroup",
                        policy => policy.RequireAssertion(/*some assertion here for example*/));
});
在Configure方法中,确保

app.UseRouting();
app.UseAuthorization();
app.UseAuthentication();

按这个顺序。无论如何,我成功地在linux容器中的Docker上获得了这样的凭据提示,但是凭据仍然不起作用,因此我希望这能有所帮助。

Windows身份验证在linux容器中是不可能的。谢谢,也许这是目前唯一的选择: