Es ist der MeinungC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Es ist der Meinung

Post by Anonymous »

Anmeldung direkt von einer Blazor -Seite ist anscheinend nicht erlaubt, da ich eine Warnung bekomme, dass die Header bereits geändert wurden, wenn es versucht, die Cookies zu setzen.

Code: Select all

login.razor,
login.razor.cs,
loginpage.cshtml,
loginpage.cshtml.cs.
Die Breakpoints in login.razor.cs TROSE -TRICK, aber diejenigen in loginpage.cshtml.cs nicht einmal der Konstruktor. Erlaubt '< /p>
< /blockquote>

Code: Select all

login.razor.cs
Submit Handler hat

Code: Select all

var response = await httpClient.PostAsJsonAsync("Account/LoginPage", Input);
< /code>
loginpage.cshtml
hat

Code: Select all

@page "/Account/LoginPage"
@model DerbyDash.Components.Account.Pages.LoginModel




Login

< /code>
loginpage.cshtml.cs
hat

Code: Select all

using DerbyDash.Data;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using static DerbyDash.Components.Account.Pages.Login;

namespace DerbyDash.Components.Account.Pages
{
[IgnoreAntiforgeryToken]
public class LoginModel: PageModel
{
private readonly SignInManager _signInManager;
private readonly IdentityRedirectManager RedirectManager;
private readonly Logger Logger;

[BindProperty]
public LoginInputModel Input { get; set; } = new();

[FromQuery]
public string? returnUrl { get; set; }

public LoginModel(SignInManager signInManager,
IdentityRedirectManager redirectManager,
Logger logger)
{
_signInManager = signInManager;
RedirectManager = redirectManager;
Logger = logger;
}

public async Task OnPostAsync()
{
string email = Input.Email?.Trim() ?? "";
string password = Input.Password?.Trim() ?? "";
var result = await _signInManager.PasswordSignInAsync(
email, password, Input.RememberMe, false);

returnUrl = returnUrl ?? "/";
}
}
}
< /code>
info: System.Net.Http.HttpClient.default.LogicalHandler[100]
Start processing HTTP request POST https://localhost:7028/Account/LoginPage
info: System.Net.Http.HttpClient.default.ClientHandler[100]
Sending HTTP request POST https://localhost:7028/Account/LoginPage
info: System.Net.Http.HttpClient.default.ClientHandler[101]
Received HTTP response headers after 133.5151ms - 405
info: System.Net.Http.HttpClient.default.LogicalHandler[101]
End processing HTTP request after 149.8232ms - 405
info: DerbyDash.Components.Account.Pages.Login[0]
Response: StatusCode: 405, ReasonPhrase: 'Method Not Allowed', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
Date: Tue, 06 May 2025 05:45:27 GMT
Server: Kestrel
Content-Length: 0
Allow: GET, HEAD
}
< /code>
It appears to have the relevant setup
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseAntiforgery();
app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); });

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post