Asp.net 如何使用identity Core 3.1禁用新用户注册?
我有一个ASP.NET核心3.1。我需要临时阻止新用户注册 我该怎么做 我尝试在注册服务时查看选项,但没有看到允许我禁用注册的选项Asp.net 如何使用identity Core 3.1禁用新用户注册?,asp.net,asp.net-core,asp.net-core-mvc,asp.net-core-3.1,asp.net-core-identity,Asp.net,Asp.net Core,Asp.net Core Mvc,Asp.net Core 3.1,Asp.net Core Identity,我有一个ASP.NET核心3.1。我需要临时阻止新用户注册 我该怎么做 我尝试在注册服务时查看选项,但没有看到允许我禁用注册的选项 services.AddIdentity(options => { }); 您可以使用筛选器阻止对注册表页的请求。此示例筛选器将请求重定向到根路径,但您可以重定向到通知用户已禁用注册的页面。这样,您只需添加一个属性,而无需更改任何注册码 BlockFilter.cs Startup.cs Register.cshtml.cs 似乎没有这样的选项来禁用注册
services.AddIdentity(options =>
{
});
您可以使用筛选器阻止对注册表页的请求。此示例筛选器将请求重定向到根路径,但您可以重定向到通知用户已禁用注册的页面。这样,您只需添加一个属性,而无需更改任何注册码 BlockFilter.cs Startup.cs Register.cshtml.cs
似乎没有这样的选项来禁用注册。但是您可以手动进行一些更改 您可以首先构建两个标识页:
Account\Register,
Account\Login
编辑Register.cshtml.cs。如果用户登录到注册页面,则将其重定向到登录页面
public class RegisterModel : PageModel
{
public IActionResult OnGet()
{
return RedirectToPage("Login");
}
public IActionResult OnPost()
{
return RedirectToPage("Login");
}
}
编辑区域/Identity/Pages/Account/Register.cshtml,如下所示
@page
@model RegisterModel
@{
ViewData["Title"] = "Go to Login";
}
<h1>@ViewData["Title"]</h1>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Login">Login</a>
</li>
@page
@模型注册器模型
@{
ViewData[“Title”]=“转到登录”;
}
@ViewData[“标题”]
登录
从Areas/Identity/Pages/Account/Login.cshtml中删除注册链接
@*
<p>
<a asp-page="./Register" asp-route-returnUrl="@Model.ReturnUrl">Register as a new user</a>
</p>
*@
@*
注册为新用户
*@
在注册服务中隐藏表单或条件对您不起作用吗?不。我需要完全阻止任何注册请求。您使用的是标识的ui还是您自己实现的
public class RegisterModel : PageModel
{
public IActionResult OnGet()
{
return RedirectToPage("Login");
}
public IActionResult OnPost()
{
return RedirectToPage("Login");
}
}
@page
@model RegisterModel
@{
ViewData["Title"] = "Go to Login";
}
<h1>@ViewData["Title"]</h1>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Login">Login</a>
</li>
@*
<p>
<a asp-page="./Register" asp-route-returnUrl="@Model.ReturnUrl">Register as a new user</a>
</p>
*@