ASP.NET6使用Windows身份验证进行Intranet行为,匿名会话不会登录

vvppvyoh  于 2023-02-20  发布在  .NET
关注(0)|答案(1)|浏览(238)

要使用Windows身份验证设置ASP.NET门户,我遵循了https://learn.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-6.0&tabs=visual-studio上的说明
我在我的项目中添加了NuGet包Microsoft.AspNetCore.Authentication.Negotiate。(用于使用Microsoft.AspNetCore.Authentication.Negotiate
在配置服务(IServiceCollection服务)中,我添加了:
services.AddAuthentication(NegotiateDefaults.AuthenticationScheme).AddNegotiate();
services.AddAuthorization(options =\> { options.FallbackPolicy = options.DefaultPolicy; });
在配置(IApplicationBuilder应用程序)中,我添加了:app.UseAuthentication(); app.UseAuthorization();
在launchSettings. json/iis设置中,我更改了:"windowsAuthentication": true, "anonymousAuthentication": false,
在浏览门户网站时,我发现:User.Identity.IsAuthenticated变为真,User.Identity.Name变为domain\\SAMAccountNameUser.Identity.AuthorisationType变为协商。
对于内部网站来说,这是完美的,用户得到了预期的验证。
当我启动与门户的匿名会话时,浏览器显示一个登录框。这是正常行为,因为缺少有效凭据。提供有效域用户凭据似乎不起作用,它一直要求提供有效凭据。配置Windows身份验证时,谁能告诉我如何处理手动提供的凭据?

thtygnil

thtygnil1#

对于从外部域网络连接的授权用户,应使用“Active Directory Federation Services“(ADFS)
Microsoft的传统Active Directory技术存储用户名和密码,并使用它们来管理和保护对Windows域中计算机的访问。它还提供对企业应用程序的SSO访问。AD联合身份验证服务基于此功能来对第三方系统(如其他公司的Extranet或云提供商托管的服务)上的用户进行身份验证。
无论如何,你应该了解“联邦服务”...

相关问题