Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core asp.net core 2.1没有AccountController_Asp.net Core_Asp.net Identity - Fatal编程技术网

Asp.net core asp.net core 2.1没有AccountController

Asp.net core asp.net core 2.1没有AccountController,asp.net-core,asp.net-identity,Asp.net Core,Asp.net Identity,我意识到在asp.net core 2.1中,身份已经改变,但如果您将其作为脚手架项目添加,则可以将其添加到解决方案中 它为所有页面添加所有razor类库 然而,我想做的是使用旧的AccountController方式,客户端(移动或web)可以发布到与帐户相关的API 我有什么选择可以让旧的方式回来或类似的。这样我就可以使用客户端的api了不幸的是,它已经不存在了。我个人对这一变化感到非常恼火,团队没完没了地把剃须刀页面推到每个人身上,坦率地说,这本应该被扔到历史的垃圾箱里 我个人所做的是添加

我意识到在asp.net core 2.1中,身份已经改变,但如果您将其作为脚手架项目添加,则可以将其添加到解决方案中

它为所有页面添加所有razor类库

然而,我想做的是使用旧的AccountController方式,客户端(移动或web)可以发布到与帐户相关的API


我有什么选择可以让旧的方式回来或类似的。这样我就可以使用客户端的api了不幸的是,它已经不存在了。我个人对这一变化感到非常恼火,团队没完没了地把剃须刀页面推到每个人身上,坦率地说,这本应该被扔到历史的垃圾箱里

我个人所做的是添加脚手架,然后创建我自己的控制器,将Razor页面代码洗牌并重写到传统MVC风格的控制器和视图中。虽然这不是一次愉快的经历,但如果你想这样做,我知道没有别的办法

但是需要注意的是,
AddDefaultIdentity
扩展实际上也添加了默认的UI,就像您将其构建到项目中一样。换句话说,即使您将所有内容移到控制器和视图并删除所有搭建的内容,Razor页面路由仍将优先。更不幸的是,除了添加
AddDefaultIdentity
,没有好的选择。这是您需要的:

services.AddIdentityCore(o=>
{
//标识配置
})
.AddSignInManager()的名称
.AddDefaultTokenProviders()
.AddEntityFrameworkStores();
services.configureApplicationOkie(o=>
{
o、 LoginPath=“/signin”;
o、 LogoutPath=“/signout”;
o、 AccessDeniedPath=“/signin”;
o、 ReturnUrlParameter=“returnUrl”;
});

显然,在最后一点中,您会将URL更改为您自己的应用程序路由。

这是否有帮助:@SehaxX,是的,请意识到这一点,但我没有任何可供客户端使用的API。似乎它只适用于web?您是否尝试过此兼容版本,其中可能还有用于登录的链接:services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.version_2_1).AddRazorPagesOptions(options=>{options.AllowAreas=true;options.Conventions.AuthorizeAreaFolder(“Identity”,“/Account/Manage”);options.Conventions.authorizedAreaPage(“标识”,“/Account/Logout”);});