如何解决如何在ASP.NET Core中将WS-Fedaration与ADFS一起使用
已在ASP.NET中使用Microsoft.AspNetCore.Authentication.WsFedaration 即使使用ADFS登录后,它始终显示拒绝访问。 步骤如下:
-
创建的ASP.NET Core Web应用程序。
-
在ADFS中配置了WREALM。
-
在项目中引用了Microsoft.AspNetCore.Authentication.WsFedaration库 下面的启动代码:
public void ConfigureServices(IServiceCollection services) { services.AddAuthentication(sharedOptions => { sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; sharedOptions.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; sharedOptions.DefaultChallengeScheme = WsFederationDefaults.AuthenticationScheme; }) .AddWsFederation(options => { options.Wtrealm = "https://localhost:44444/"; options.MetadataAddress = "https://adfs.test.test/FederationMetadata/2007-06/FederationMetadata.xml"; }) .AddCookie(); services.AddAuthorization(options => { options.AddPolicy("admin",policy => policy.RequireClaim(ClaimTypes.Upn,"admin@test.test") ); }); } public void Configure(IApplicationBuilder app,IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default",pattern: "{controller=Home}/{action=Index}/{id?}"); }); LoadConfig(); }
有人可以帮忙吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。