ASP.NET Core Identity,创建登录、注册操作。AuthController。
创始人
2024-09-15 04:30:48
0

下面是一个使用ASP.NET Core Identity的AuthController示例,包括登录和注册操作:

using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;

namespace YourNamespace.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class AuthController : ControllerBase
    {
        private readonly UserManager _userManager;
        private readonly SignInManager _signInManager;

        public AuthController(UserManager userManager, SignInManager signInManager)
        {
            _userManager = userManager;
            _signInManager = signInManager;
        }

        [HttpPost("register")]
        public async Task Register(RegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var user = new IdentityUser { UserName = model.Email, Email = model.Email };
            var result = await _userManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                await _signInManager.SignInAsync(user, isPersistent: false);
                return Ok();
            }

            return BadRequest(result.Errors);
        }

        [HttpPost("login")]
        public async Task Login(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);

            if (result.Succeeded)
            {
                return Ok();
            }

            return BadRequest("Invalid login attempt");
        }
    }

    public class RegisterViewModel
    {
        public string Email { get; set; }
        public string Password { get; set; }
    }

    public class LoginViewModel
    {
        public string Email { get; set; }
        public string Password { get; set; }
        public bool RememberMe { get; set; }
    }
}

在上面的示例中,我们使用UserManager来管理用户,SignInManager用于用户的登录和登出操作。RegisterLogin方法分别处理注册和登录请求。

相关内容

热门资讯

辅助开挂!卡五星辅助神器,we... 辅助开挂!卡五星辅助神器,wepoker私人局可以透视(透视)开挂辅助安装(有挂规律);卡五星辅助神...
辅助开挂!欢乐情怀怎么开挂,拱... 辅助开挂!欢乐情怀怎么开挂,拱趴大菠萝十三水辅助(透视)开挂辅助插件(有挂解密);1、完成欢乐情怀怎...
辅助开挂!盛世透视辅助工具,w... 辅助开挂!盛世透视辅助工具,wepoker透视脚本免费下载(透视)开挂辅助工具(有挂实锤);盛世透视...
辅助开挂!新518互游脚本,h... 辅助开挂!新518互游脚本,hhpoker软件安装包(透视)开挂辅助软件(的确有挂);相信小伙伴都知...
开挂辅助!四川熊猫辅助官网,哈... 开挂辅助!四川熊猫辅助官网,哈糖大菠萝能开挂吗(透视)开挂辅助工具(有挂方法);致您一封信;亲爱四川...
辅助开挂!钱塘十三水透视,po... 辅助开挂!钱塘十三水透视,pokemmo手机版脚本免费(透视)开挂辅助神器(发现有挂);钱塘十三水透...
开挂辅助!哈局八张模拟器,we... 开挂辅助!哈局八张模拟器,wepoker开辅助能查到吗(透视)开挂辅助神器(有挂透明挂);一、哈局八...
辅助开挂!哈灵脚本修改器,德州... 辅助开挂!哈灵脚本修改器,德州透视脚本(透视)开挂辅助平台(有挂存在);亲,有的,ai轻松简单,又可...
开挂辅助!东阳四副牌辅助,hh... 开挂辅助!东阳四副牌辅助,hhpoker可以控制牌吗(透视)开挂辅助平台(揭秘有挂);东阳四副牌辅助...
开挂辅助!福建天天开心一直输怎... 开挂辅助!福建天天开心一直输怎么办,德普之星透视辅助软件激活码(透视)开挂辅助软件(确实有挂);1....