C# SignInManager.SignInAsync无法使用ASP.net MVC标识
我试图在登录时使用标识“SignInManager.SignInAsync”将用户角色存储在cookie中。我在这里使用的示例(第4节):。 我得到的错误是:C# SignInManager.SignInAsync无法使用ASP.net MVC标识,c#,asp.net,asp.net-mvc,asp.net-identity,C#,Asp.net,Asp.net Mvc,Asp.net Identity,我试图在登录时使用标识“SignInManager.SignInAsync”将用户角色存储在cookie中。我在这里使用的示例(第4节):。 我得到的错误是:*错误CS0305使用泛型类型“SignInManager”需要2个类型参数* 我尝试使用以下命令声明Signinmanager:private readonly Signinmanager\u Signinmanager 代码如下: // POST: /account/login [HttpPost] [Allow
*错误CS0305使用泛型类型“SignInManager”需要2个类型参数*
我尝试使用以下命令声明Signinmanager:private readonly Signinmanager\u Signinmanager代码>
代码如下:
// POST: /account/login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(AccountLoginModel viewModel)
{
// Ensure we have a valid viewModel to work with
if (!ModelState.IsValid)
return View(viewModel);
// Verify if a user exists with the provided identity information
var user = new ApplicationUser { UserName = viewModel.Email, Email = viewModel.Email };
// If a user was found
if (user != null)
{
await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
// If the user came from a specific page, redirect back to it
return RedirectToLocal(viewModel.ReturnUrl);
}
// No existing user was found that matched the given criteria
ModelState.AddModelError("", "Invalid username or password.");
// If we got this far, something failed, redisplay form
return View(viewModel);
}
//POST:/account/login
[HttpPost]
[异名]
[ValidateAntiForgeryToken]
公共异步任务登录(AccountLoginModel viewModel)
{
//确保使用有效的viewModel
如果(!ModelState.IsValid)
返回视图(viewModel);
//验证是否存在具有提供的身份信息的用户
var user=newapplicationuser{UserName=viewModel.Email,Email=viewModel.Email};
//如果找到用户
如果(用户!=null)
{
等待SignInManager.SignInAsync(用户,isPersistent:false,rememberBrowser:false);
//如果用户来自特定页面,请重定向回该页面
返回重定向到本地(viewModel.ReturnUrl);
}
//未找到符合给定条件的现有用户
AddModelError(“,“无效的用户名或密码”);
//如果我们走到这一步,有些东西失败了,重新显示形式
返回视图(viewModel);
}
我使用的是Microsoft.AspNet.Identity.EntityFramework和Microsoft.AspNet.Identity.Owin您似乎在这里使用类型作为变量。编译错误有些误导,但假设您正确定义了SingInManager,则必须像_SingInManager.SignInAsync一样调用它etc@gerwin我还没有定义SignInManager,我似乎找不到一个很好的例子来说明如何定义它。您似乎在这里使用类型作为变量。编译错误有些误导,但假设您正确定义了SingInManager,则必须像_SingInManager.SignInAsync一样调用它etc@gerwin我还没有定义SignInManager,我似乎找不到一个很好的例子来说明如何做到这一点。