覆盖单个用户帐户中的AccountController

时间:2018-10-16 04:03:48

标签: asp.net-mvc asp.net-core asp.net-core-mvc

我已经在Asp .Net Core 2.1中创建了-mvc个人用户帐户,并添加了支架标识
我需要将路由Identity/Account/Register覆盖到Account/Register
我想我需要访问AccountController并添加属性[Route("")]。 我该怎么做?。
在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

在最新的身份中,不再有AccountController。 ASP.NET Core团队做出了(引起争议的)决定将所有内容移至Razor Pages。身份验证和帐户管理控制器和视图的旧标识支架现在作为“默认UI”存在,当您使用AddDefaultIdentity时默认包含在其中。该方法在内部调用AddDefaultUI

要修改默认用户界面,您必须将所需的零件脚手架放入项目中,这可以通过在解决方案资源管理器中右键单击您的项目并选择“添加”>“新的脚手架项目...”来完成。一个窗口,您可以在其中选择各种可用的支架,其中之一就是“身份”。选择该选项将弹出另一个窗口,使您可以选择要支撑的剃刀页面。您可以选择任何一个或全部。由于默认UI仍然保留,因此脚手架页面将用作替代页面,因此未包含的所有内容都将恢复为默认UI版本。

如果您像我和其他许多人一样讨厌Razor Pages,并且希望恢复老式MVC控制器和视图,那么您现在别无选择,只能自己创建它们。您可以将所有“身份”页面都作为参考放置到项目中,然后将代码改组到控制器和视图中。然后,只需在完成后删除支架页面即可。您还需要在AddIdentity中使用ConfigureServices而不是AddDefaultIdentity,否则默认UI仍将优先。坦率地说,这是一种痛苦,但是事实就是这样。