[HttpPost]
[Route("LoginTest")]
public IActionResult Authenticate([FromBody] LoginDTO login)
{
// Fetch user
var user = db.Users.FirstOrDefault(u => u.Username == login.Username && u.Password == login.Password);
if (user == null)
{
return Unauthorized("Invalid username or password.");
}
if (user.UserType == "Client")
{
// code throws error on this line
var client = db.Customers.FirstOrDefault(c => c.UserId == user.UserId);
if (client == null)
{
// Handle case where client is null
return NotFound("Client data not found.");
}
UserCDTO cDTO = new UserCDTO
{
Username = user.Username,
Address = user.Address,
CustomerName = client.CustomerName,
Age = client.Age,
Gender = client.Gender,
ContactInfo = client.ContactInfo,
};
return Ok(cDTO);
}
}
// Entities and DTO
public class UserCDTO
{
//User Inputs
public string? Username { get; set; }
public string? Password { get; set; }
public string? Address { get; set; }
//Customer Inputs
public string? CustomerName { get; set; }
public string? Age { get; set; }
public string? Gender { get; set; }
public string? ContactInfo { get; set; }
}
public partial class Customer
{
public int CustomerId { get; set; }
public int? UserId { get; set; }
public string? CustomerName { get; set; }
public string Age { get; set; } = null!;
public string Gender { get; set; } = null!;
public string? ContactInfo { get; set; }
public virtual ICollection Orders { get; set; } =
new List();
public virtual User? User { get; set; }
}
Этот код управляет аутентификацией пользователя в веб-приложении. Он проверяет, соответствуют ли предоставленные имя пользователя и пароль пользователю в базе данных. Если пользователь является клиентом, он получает его данные и (на этом он останавливается).
В противном случае он возвращает неавторизованное или не найденное сообщение.
// Entities and DTO public class UserCDTO { //User Inputs public string? Username { get; set; } public string? Password { get; set; } public string? Address { get; set; } //Customer Inputs public string? CustomerName { get; set; } public string? Age { get; set; } public string? Gender { get; set; } public string? ContactInfo { get; set; } } public partial class Customer {
public int CustomerId { get; set; } public int? UserId { get; set; } public string? CustomerName { get; set; } public string Age { get; set; } = null!; public string Gender { get; set; } = null!; public string? ContactInfo { get; set; } public virtual ICollection Orders { get; set; } = new List(); public virtual User? User { get; set; } } [/code] Этот код управляет аутентификацией пользователя в веб-приложении. Он проверяет, соответствуют ли предоставленные имя пользователя и пароль пользователю в базе данных. Если пользователь является клиентом, он получает его данные и (на этом он останавливается). В противном случае он возвращает неавторизованное или не найденное сообщение.
Привет, я создаю веб-API в ядре asp.net, когда я вызываю контроллер, он выдает ошибку, и это показывает, как я создаю модели и контроллер.
Модель:
public class tblProject
{
public Guid prj_id { get; set; }
public string prj_name { get; set; }...
У меня есть веб-приложение, в котором практически все работает. Сегодня я хотел расширить свой IdentityUser с помощью ApplicationUser, чтобы у пользователя могли быть FirstName, LastName и ProfilePicture.
Проблема возникает здесь. Когда я...
У меня есть веб-приложение, в котором практически все работает. Сегодня я хотел расширить свой IdentityUser с помощью ApplicationUser, чтобы у пользователя могли быть FirstName, LastName и ProfilePicture.
Проблема возникает здесь. Когда я...
У меня есть веб-приложение, в котором практически все работает. Сегодня я хотел расширить свой IdentityUser с помощью ApplicationUser, чтобы у пользователя могли быть FirstName, LastName и ProfilePicture.
Проблема возникает здесь. Когда я...
У меня есть веб-приложение, в котором практически все работает. Сегодня я хотел расширить свой IdentityUser с помощью ApplicationUser, чтобы у пользователя могли быть FirstName, LastName и ProfilePicture.
Проблема возникает здесь. Когда я...