我正在使用ASP.NET Core MVC(.NET 5(和Identity开发用于用户管理的web应用程序。如果我导航到/Identity/Account/Manage页面,我可以看到5个选项:
- 配置文件
- 电子邮件
- 密码
- 双因素身份验证
- 个人数据
我想从页面中删除双因素身份验证和个人数据选项。并删除或禁用对这些功能的访问。我该怎么做?
编辑:
我添加了新的脚手架项目并检查了Account/Manage/Layout,然后删除了双因素身份验证和个人数据的<li>
元素,但/Identity/Account/Manage/PersonalData和/Identity/Account/Mnage/TwoFactorAuthentication链接仍然可以访问。
最后,我按照文档中的说明禁用了页面(禁用页面(,但做了一些更改。
我添加了这些新的脚手架项目:
- 帐户/管理/布局(先前添加(
- 帐户/管理/删除个人数据
- 帐户/管理/禁用2fa
- 帐户/管理/下载个人数据
- 帐户/管理/EnableAuthenticator
- 账户/管理/个人数据
- 帐户/管理/重置身份验证程序
- 帐户/管理/TwoFactorAuthentication
对于DeletePersonalData、Disable2fa、DownloadPersonalData和EnableAuthenticator、PersonalData,ResetAuthenticator和TwoFactorAuthentication,我删除了.cshtml和.cshtml.cs文件中的所有内容,使其为空。
在_ManageNav.cshtml文件中,我删除了以下列表项:
<li class="nav-item"><a class="nav-link @ManageNavPages.TwoFactorAuthenticationNavClass(ViewContext)" id="two-factor" asp-page="./TwoFactorAuthentication">Two-factor authentication</a></li>
<li class="nav-item"><a class="nav-link @ManageNavPages.PersonalDataNavClass(ViewContext)" id="personal-data" asp-page="./PersonalData">Personal data</a></li>
在ManageNavPages.cs文件中,我删除了以下属性和方法:
public static string DownloadPersonalData => "DownloadPersonalData";
public static string DeletePersonalData => "DeletePersonalData";
public static string PersonalData => "PersonalData";
public static string TwoFactorAuthentication => "TwoFactorAuthentication";
public static string DownloadPersonalDataNavClass(ViewContext viewContext) => PageNavClass(viewContext, DownloadPersonalData);
public static string DeletePersonalDataNavClass(ViewContext viewContext) => PageNavClass(viewContext, DeletePersonalData);
public static string PersonalDataNavClass(ViewContext viewContext) => PageNavClass(viewContext, PersonalData);
public static string TwoFactorAuthenticationNavClass(ViewContext viewContext) => PageNavClass(viewContext, TwoFactorAuthentication);
结果,我在导航器中得到了一个404 HTTP错误,这正是我想要的。