C# Can';无法获取User.Identity.GetUserId()
我有一个简单的web应用程序,无法使用userC# Can';无法获取User.Identity.GetUserId(),c#,asp.net-mvc,asp.net-identity,C#,Asp.net Mvc,Asp.net Identity,我有一个简单的web应用程序,无法使用useruser.Identity.GetUserId()方法。每次使用它时,它都返回null,如果使用User.Identity.GetUserId(),则返回0 例如,在本代码部分中 public async Task<ActionResult> SetPassword(SetPasswordViewModel model) { var userId = User.Identity.GetUserId(
user.Identity.GetUserId()
方法。每次使用它时,它都返回null,如果使用User.Identity.GetUserId()
,则返回0
例如,在本代码部分中
public async Task<ActionResult> SetPassword(SetPasswordViewModel model)
{
var userId = User.Identity.GetUserId();
if (ModelState.IsValid)
{
var result = await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.NewPassword);
if (result.Succeeded)
{
var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
if (user != null)
{
await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
}
return RedirectToAction("Index", new { Message = ManageMessageId.SetPasswordSuccess });
}
AddErrors(result);
}
公共异步任务SetPassword(SetPasswordViewModel模型)
{
var userId=User.Identity.GetUserId();
if(ModelState.IsValid)
{
var result=await UserManager.AddPasswordAsync(User.Identity.GetUserId(),model.NewPassword);
if(result.successed)
{
var user=await UserManager.FindByIdAsync(user.Identity.GetUserId());
如果(用户!=null)
{
等待SignInManager.SignInAsync(用户,isPersistent:false,rememberBrowser:false);
}
返回RedirectToAction(“Index”,new{Message=ManageMessageId.SetPasswordSuccess});
}
加法器(结果);
}
请,有人帮我解决这个问题。再次感谢。你已经完成了代码吗?如果是的话,
userId
在你通过这一行之后的值是多少var userId=User.Identity.GetUserId();
还有AddErrors(result);
不应该用else{}
statement您正在使用哪种身份验证?DJ KRAZE,我已经停止了代码,正如我所说的,它返回0或null,取决于您希望它返回的值的类型。Ryan Schlueter,如果您要求的话,我正在使用MVC web应用程序的默认身份验证。我想看一下这两篇文章,我的g使用annonymous解决身份验证或iis问题