gpt4 book ai didi

c# - 在 ASP NET Core 中禁用注册模板

转载 作者:行者123 更新时间:2023-12-03 16:54:58 24 4
gpt4 key购买 nike

如何在 ASP NET Core 2.2.0+ 中禁用注册表单?

只是为了获取和删除适当的模型,我不能,因为它不在项目中,根据文档,我知道这与“ConfigureApplicationPartManager”之类的东西有关

友情链接 here

但我找不到合适的例子来禁用它

目标是禁用新用户的注册,只留下登录\密码表单

services.AddMvc()
.ConfigureApplicationPartManager(x =>
{


var thisAssembly = typeof(IdentityBuilderUIExtensions).Assembly;
var relatedAssemblies = RelatedAssemblyAttribute.GetRelatedAssemblies(thisAssembly, throwOnError: true);
var relatedParts = relatedAssemblies.ToDictionary(
ra => ra,
CompiledRazorAssemblyApplicationPartFactory.GetDefaultApplicationParts);
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

最佳答案

您可以指定要搭建脚手架的部件。以下是 ASP.NET Core 文档的摘录。链接到下面的来源。

禁用用户注册:

  • 脚手架标识。包括 Account.Register、Account.Login 和 Account.RegisterConfirmation。例如:
  • dotnet aspnet-codegenerator identity -dc RPauth.Data.ApplicationDbContext --files "Account.Register;Account.Login;Account.RegisterConfirmation"
  • 更新 Areas/Identity/Pages/Account/Register.cshtml.cs 以便用户无法从该端点注册:
  • public class RegisterModel : PageModel
    {
    public IActionResult OnGet()
    {
    return RedirectToPage("Login");
    }

    public IActionResult OnPost()
    {
    return RedirectToPage("Login");
    }
    }
  • 更新 Areas/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>
  • 从 Areas/Identity/Pages/Account/Login.cshtml 中注释或删除注册链接
  • @*
    <p>
    <a asp-page="./Register" asp-route-returnUrl="@Model.ReturnUrl">Register as a new user</a>
    </p>
    *@
  • 更新区域/身份/页面/帐户/注册确认页面。
  • 从 cshtml 文件中删除代码和链接。
  • PageModel 中删除确认码:
  • [AllowAnonymous]
    public class RegisterConfirmationModel : PageModel
    {
    public IActionResult OnGet()
    {
    return Page();
    }
    }

    来源: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-2.2&tabs=visual-studio#disable-register-page

    更多信息 dotnet aspnet-codegenerator : https://docs.microsoft.com/en-us/aspnet/core/fundamentals/tools/dotnet-aspnet-codegenerator

    关于c# - 在 ASP NET Core 中禁用注册模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55411813/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com