繁体   English   中英

如何检查数据库中是否存在登录

[英]How to check for presence of a login in the database

我使用 ASP.NET Web API。 如何使用Post请求检查我的登录信息? 我想检查数据库中是否已经存在登录名,如果存在,则抛出错误。

UsersController

[HttpPost]
public async Task<ActionResult<User>> PostUser(User user)
{
    if (_context.Users == null)
    {
        return Problem("Entity set 'ShopContext.Users'  is null.");
    }

    var role = await _context.Roles.FindAsync(user.IdRole);

    if (role == null)
    {
        return NotFound();
    }

    for (int i = 0; i < user.Id; i++)
    {
        if (i == user.UserName.Length)
        {
            return Problem("User already registered");
        }
    }

    user.Role = role;

    _context.Users.Add(user);
    await _context.SaveChangesAsync();

    return CreatedAtAction("GetUser", new { id = user.Id }, user);
}

User model:

namespace ShopAPI.Models
{
    public class User
    {
        public int Id { get; set; }
        public string? Password { get; set; }
        public string? UserName { get; set; }
    }
}
[HttpPost]
    public async Task<ActionResult<User>> PostUser(User user)
    {

      var userWithIdAlreadyExists = _context.Users.Find(user.Id) != null;
      if(userAlreadyExists)
      {
          return Problem ("user with id already exists");
      }
      
      var userNameAlreadyExists = _context.users
      .FirstOrDefault(u => u.UserName == user.UserName);
      if(userNameAlreadyExists)  
      {
          return Problem("User already exists with that name");
      }

      //Write the code you want to execute when the user has a valid id and username 
   
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM