我正在尝试用C#和MVC 5创建我的第一个3层应用程序。我使用Identity 2作为身份验证系统,并使用以下命令安装了它:
Install-Package Microsoft.Aspnet.Identity.samples _pre
我在网站上找到了一篇我需要的文章和问题。我像这篇文章一样一步一步地做。这是文章
我在我的项目中添加了一个类库,并在这个类库中移动了我的模型,但我在IdentityConfig.cs Startup.Auth.cs和Manage controller上出现了3个关于的错误
user.GenerateUserIdentityAsync(UserManager));
错误详细信息如下:
CS7036没有给定与"ApplicationUser.GenerateUserIdentityAsync(UserManager,string)"PresentationLayer D:\Projects\Divar\PPresentationLayer\App_Start\IdentityConfig.cs 148活动所需的形式参数"authenticationType"相对应的参数
当我ctrl+单击GenerateUserIdentityAsync时,我将移动到DataAccessLayer和此方法。
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager, string authenticationType)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, authenticationType);
// Add custom user claims here
return userIdentity;
}
此外,我还将我的IdentityModels.cs名称空间更改为DataAccessLayer,但我不知道为什么我会再次出错,
这是我的错误图像在此处输入图像描述
您需要提供authenticationType。没有用户过载。具有1个参数的GenerateUserIdentityAsync。
应该更像
string a;
user.GenerateUserIdentityAsync(UserManager, a);
也只是一个小提示。。。我以前也做过同样的任务,我从研究与Identity集成的不同ORM中获得了很多价值。也许你不会,但我认为这是最初帮助我的…
https://github.com/JudahGabriel/RavenDB.AspNet.Identity