我正在ASP.NET MVC应用程序中实现AspNet标识.但是当我浏览在线资料时,我对2个dll.Aspnet.Identity.Core和Microsoft.AspNetCore.Identity感到困惑.
我知道Microsoft.AspNetCore.Identity将用于.NetCore应用程序,但Identity.Core似乎没有最近的更新,发现它甚至不让用户登录(在自定义asp身份中抛出失败).所以我的问题是我可以在MVC应用程序中使用.NetCore.Identity,还是应该坚持使用AspNetCore.Identity?
我想使用路由GET创建一个控制器,api/auth/user以返回当前登录用户的详细信息。我创建的api api/auth/login处理令牌在15分钟内过期。那么哪种方法可以返回当前登录用户的ID?
这是我当前的代码:
auth-controller.cs:
[Route("api/auth")]
public class AuthController : Controller
{
private readonly IAuthRepository repo;
private readonly IConfiguration config;
private readonly IUserRepository userRepo;
public AuthController(IAuthRepository repo, IConfiguration config, IUserRepository userRepo)
{
this.userRepo = userRepo;
this.config = config;
this.repo = repo;
}
[HttpPost("login")]
public async Task<IActionResult> Login([FromBody]UserForLogin userForLogin)
{
var userFromRepo = await this.repo.Login(userForLogin.Email.ToLower(), userForLogin.Password);
if (userFromRepo == null)
return Unauthorized();
// generate token
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes(this.config.GetSection("AppSettings:Token").Value);
var tokenDescriptor = new SecurityTokenDescriptor …Run Code Online (Sandbox Code Playgroud)