- 我将Visual Studio 2017更新到最新的15.9.5。
我已经创建了一个开箱即用 asp.net 核心 2.2 Web mvc 项目,其中包含个人用户帐户。我设置了数据库(从包管理器控制台更新数据库)并在IIS Express中运行该站点。到现在都很好。已注册用户并可以登录。
将应用部署到 IIS - 在默认站点下作为应用程序运行,并在成功登录后卡住重定向回登录页面。(所有部署均已正确 - 应用 = 无托管代码)
所以我将项目提交到一个小桶存储库,并请朋友在他们的机器上尝试一下。使用IIS Express和我给他的数据库,它卡住了 - 成功登录后重定向回登录。
没有自定义代码 - 所有脚手架代码。
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>()
.AddDefaultUI(UIFramework.Bootstrap4)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
}
我认为EF无法访问您的数据库。确保可以使用 DefaultConnection 中的连接设置访问该数据库。将调试器设置为登录方法,并检查从用户管理器方法返回的内容。
我遇到了同样的问题,我在 Mac 上运行以下并解决了问题。
sudo dotnet dev-certs https --trust;