麻烦授权asp.net核心

问题描述 投票:-1回答:1

Plz,帮助我解决问题。

我在MS VS 2017中创建了新的应用程序。键入ASP.NET Core 2 MVC

我无法通过授权找到我的问题的解决方案。

  1. 我添加到Startup public void ConfigureServices(IServiceCollection services) { services.AddScoped<USDb, USDb>(); services.Scan(scan => scan.FromAssemblyOf<USDb>() .AddClasses() .AsImplementedInterfaces()); InjectionContainer = services.BuildServiceProvider(); services.AddMvc(); //Auth services.AddAuthentication(o => { o.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; o.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme; o.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; }) .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, o => { o.LoginPath = new PathString("/Account/Login"); o.ReturnUrlParameter = "RedirectUrl"; o.AccessDeniedPath = new PathString("/Account/AccessDenied"); o.LogoutPath = new PathString("/Account/Logout"); o.ExpireTimeSpan = TimeSpan.FromDays(1); o.SlidingExpiration = true; o.Cookie.SameSite = SameSiteMode.Strict; o.Cookie.Name = ".USAUTH"; }); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); app.UseAuthentication(); }
  2. 我的AccountController方法 [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Login(LoginModel model, string redirectUrl = null) { if (ModelState.IsValid) { await Authenticate("login"); return Redirect(redirectUrl); } return View(); } private async Task Authenticate(string userName) { var claims = new List {new Claim(ClaimsIdentity.DefaultNameClaimType,userName)}; ClaimsIdentity id = new ClaimsIdentity(claim,CookieAuthenticationDefaults.AuthenticationScheme); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(id)); }

当我试图回家/索引应用程序将我重定向到帐户 - 这是非常好的。但是在我输入登录数据并将其提交给登录方法应用程序后,我再次将我重定向到登录页面......再次......等但是Cookie出现了,但是应用程序没有创建HttpContext.User.Identity并且仍然将我重定向到登录页面。 ......我不知道是什么(((请(帮助)(我失去了希望(

c# asp.net-core-mvc
1个回答
2
投票

你必须在app.UseAuthentication();之前打电话给app.UseMvc(...);

Banal错误但我在升级到asp.net core 2.0之后不久前遇到了同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.