【发布时间】:2020-07-15 00:36:23
【问题描述】:
根据 ASP.NET Core documentation,您创建了一个方法来更改预定义的选项,称为“配置”。但是,类中已经有一个名为 configure 的方法。
services.Configure<IdentityOptions>(options =>
{
// Password settings.
options.Password.RequireDigit = true;
options.Password.RequireLowercase = true;
options.Password.RequireNonAlphanumeric = true;
options.Password.RequireUppercase = true;
options.Password.RequiredLength = 6;
options.Password.RequiredUniqueChars = 1;
// Lockout settings.
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
options.Lockout.MaxFailedAccessAttempts = 5;
options.Lockout.AllowedForNewUsers = true;
// User settings.
options.User.AllowedUserNameCharacters =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+";
options.User.RequireUniqueEmail = false;
});
你在 ConfigureServices 类的 ConfigureServices 方法中添加了这个,但是在 Configure 服务类中已经有一个名为 configure 的方法。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
我是身份的新手,所以我不知道其中哪一个我可以改变。现在我收到这个关于命名的错误:
“命名空间不能直接包含字段或方法等成员”
【问题讨论】:
-
你必须把方法放在一个类中。您可以调用任何您喜欢的方法来配置身份,也可以是匿名的,就像您发布的代码中一样
-
谢谢,我意识到我的类定义在第二个配置方法之前就结束了
标签: c# asp.net authentication .net-core asp.net-identity