要使用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\\SAMAccountName
,User.Identity.AuthorisationType
变为协商。
对于内部网站来说,这是完美的,用户得到了预期的验证。
当我启动与门户的匿名会话时,浏览器显示一个登录框。这是正常行为,因为缺少有效凭据。提供有效域用户凭据似乎不起作用,它一直要求提供有效凭据。配置Windows身份验证时,谁能告诉我如何处理手动提供的凭据?
1条答案
按热度按时间thtygnil1#
对于从外部域网络连接的授权用户,应使用“Active Directory Federation Services“(ADFS)
Microsoft的传统Active Directory技术存储用户名和密码,并使用它们来管理和保护对Windows域中计算机的访问。它还提供对企业应用程序的SSO访问。AD联合身份验证服务基于此功能来对第三方系统(如其他公司的Extranet或云提供商托管的服务)上的用户进行身份验证。
无论如何,你应该了解“联邦服务”...