我已经在Mac上使用CLI启动了我的dotnet核心mvc项目而没有身份,现在我想添加此功能。我迄今知道的唯一选择是通过
创建一个新项目dotnet new mvc --auth
有没有更好的方法为现有项目添加身份?我希望有一个新的' dotnet new'命令。
答案 0 :(得分:8)
http
答案 1 :(得分:4)
您可以通过NuGet包管理器进行管理:
工具 - > NuGet包管理器 - >控制台
#standardSQL
with table1 as(
SELECT "basket_1" as basket,"apple" as fruit UNION ALL
SELECT "basket_1","mango" as fruit UNION ALL
SELECT "basket_2","apple" as fruit UNION ALL
SELECT "basket_2","Apple" as fruit UNION ALL
SELECT "basket_2","pine_apple" as fruit UNION ALL
SELECT "basket_2","pine_apple" as fruit UNION ALL
SELECT "basket_1","orange" as fruit
)
SELECT
basket,
STRING_AGG(fruit) AS fruits_in_each_basket,
ARRAY_AGG(IF(LOWER(fruit) = 'apple', fruit, NULL) IGNORE NULLS) AS apple
FROM table1
GROUP BY basket
安装包Microsoft.AspNet.Identity.Core
答案 2 :(得分:2)
根据docs.microsoft.com,您可以使用 aspnet-codegenerator 将标识绑定到现有的MVC项目中。
1)如果以前尚未安装ASP.NET Core脚手架,请立即安装:
dotnet tool install -g dotnet-aspnet-codegenerator
2)将对Microsoft.VisualStudio.Web.CodeGeneration.Design的包引用添加到项目(* .csproj)文件。在项目目录中运行以下命令:
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet restore
3)运行以下命令以列出“身份支架”选项:
dotnet aspnet-codegenerator identity -h
4)在项目文件夹中,使用所需选项运行身份支架。例如,要使用默认用户界面和最少文件数设置身份,请运行以下命令:
dotnet aspnet-codegenerator identity --useDefaultUI
5)生成的身份数据库代码需要实体框架核心迁移。创建迁移并更新数据库。例如,运行以下命令:
dotnet ef migrations add CreateIdentitySchema
dotnet ef database update
6)在 UseStaticFiles 之后调用 UseAuthentication :
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseAuthentication(); // <-- add this line
app.UseMvcWithDefaultRoute();
}
}
答案 3 :(得分:0)
我正在关注this MS教程,但是遇到了一些问题,因此我在这里列出了它们,以及解决方法。
我的连接字符串有问题。这是我的连接字符串在appsettings.json
末尾的样子,因为我的MS SQL Server在特定端口上工作:
"AuthDbContextConnection": "Data Source=xxx.xxx.xxx.xxx,10008;Initial Catalog=dbName;Persist Security Info=True;User ID=sqluser;Password=sqlpassword"
xxx.xxx.xxx.xxx
在这里,而不是IP地址。
我无法安装Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
,因此进入数据包页面here,并为我的项目(.NET Core 3.x)安装了最新版本this。所以我已经用:
Install-Package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore -Version 3.1.10
那之后我跑
Add-Migration CreateIdentitySchema -Context AuthDbContext
没有上下文参数就无法工作。 这创建了2个迁移,我分别运行:
Update-Database 20201217102436_InitialCreate -Context AuthDbContext
和
Update-Database 20201218083037_CreateIdentitySchema -Context AuthDbContext
那行得通。已成功在MS SQL服务器中创建表。