项目.Net 8

IConfiguration configuration = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json")
    .Build();

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllersWithViews();

builder.Services.AddDbContext<StudentDataContext>(options =>
options.UseSqlServer(configuration.GetConnectionString("SecurityWebAppConnectionStrings")));


builder.Services.AddAuthorization(options =>
{
    options.AddPolicy("FacultyNumber",
        policy => policy.RequireClaim("FacultyNumber")
        );
});

builder.Services.AddAuthentication(options =>
{
    options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = "oidc";
})
                .AddCookie(options =>
                {
                    options.ExpireTimeSpan = TimeSpan.FromMinutes(60);
                    options.Cookie.Name = "Cookie";
                })
                .AddOpenIdConnect("oidc", options =>
                {
                    options.Authority = "http://localhost:5000";
                    options.RequireHttpsMetadata = false;
                    options.ClientId = "RouxAcademyMVC";
                    options.SaveTokens = true;
                });


var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

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

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();

错误文本: 严重性代码说明项目文件行 suppress 状态 错误CS1061""AuthenticationBuilder""不包含""AddOpenIdConnect""的定义,并且找不到可访问的扩展方法""AddOpenIdConnect"",该方法接受类型为""AuthenticationBuilder""的第一个参数(是否缺少Using指令或程序集引用?)""SecurityWebApp.WebClient SecurityWebApp.WebClient\Program.cs 46 Active""

不管我找了多少遍,还是什么都找不到?

推荐答案

各种AddOpenIdConnect方法是在Microsoft.Extensions.DependencyInjection命名空间中定义的扩展方法.

try 将适当的Using指令添加到代码文件的顶部:

using Microsoft.Extensions.DependencyInjection;

Csharp相关问答推荐

MudBlazor—MudDataGrid—默认过滤器定义不允许用户修改基本过滤器

使用C#中的SDK在Microsoft Graph API上使用SubscribedSkus的问题

Azure DEVOPS找不到定制的Nuget包

MS Graph v5.42.0:在寻呼消息时更改页面大小

WinForms在Linux上的JetBrains Rider中的应用

NET8 Maui&;iOS:AppCenter崩溃错误

在不添加不必要的尾随零的情况下本地化浮点型?

当我没有此令牌时,为什么语法报告EOF错误?

在.NET 8最低API中从表单绑定中排除属性

什么类型的对象存储在大对象堆(LOH)中

使用C#和.NET 7.0无法访问Cookie中的数据

System.NotSupportdException:流不支持读取

RCL在毛伊岛应用程序和Blazor服务器应用程序.Net 8.0中使用页面

如何在一次数据库调用中为ASP.NET核心身份用户加载角色

在构造函数中传递C#函数以用作EventHandler委托的订阅服务器

Foreach非常慢的C#

C#中COM对象的实际地址

如何在.NET MAUI上在iOS和Mac之间共享代码?(no条件编译和无代码重复)

Excel将';@';添加到具有范围的公式中

在C#中删除多个不同名称的会话