Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net中的用户管理角色_C#_Asp.net - Fatal编程技术网

C# asp.net中的用户管理角色

C# asp.net中的用户管理角色,c#,asp.net,C#,Asp.net,我正在尝试使用Asp.net内置的用户角色管理,但无法使其正常工作。我一直在尝试不同的方法。我试图做的一件事是运行一个测试控制器,初始化一些用户,并为他们分配一个用户角色 string newRoleName = RoleName.Trim(); if (!Roles.RoleExists(newRoleName)) // here I get timeout error // Create the role Roles.CreateRole(newRoleName); 我

我正在尝试使用Asp.net内置的用户角色管理,但无法使其正常工作。我一直在尝试不同的方法。我试图做的一件事是运行一个测试控制器,初始化一些用户,并为他们分配一个用户角色

string newRoleName = RoleName.Trim();

 if (!Roles.RoleExists(newRoleName)) // here I get timeout error
    // Create the role
    Roles.CreateRole(newRoleName);
我尝试的另一种方法是

       var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>()); // here I get this error

      // The context cannot be used while the model is being created. This exception may be thrown if the context is used inside the OnModelCreating method or if the same context instance is accessed by multiple threads concurrently. Note that instance members of DbContext and related classes are not guaranteed to be thread safe.

        var appUser = new ApplicationUser
        {
            UserName = model.Email,
            Email = model.Email
        };

        IdentityResult identityUserResult = UserManager.Create(appUser, model.Password);

        roleManager.Create(new IdentityRole("Admin"));

        UserManager.AddToRole(appUser.Id, "Admin");
var rolemanger=new rolemanger(new RoleStore());//这里我得到了这个错误
//创建模型时无法使用上下文。如果上下文在OnModelCreating方法内使用,或者如果多个线程同时访问同一上下文实例,则可能引发此异常。注意,DbContext和相关类的实例成员不能保证是线程安全的。
var appUser=新应用程序用户
{
用户名=model.Email,
Email=model.Email
};
IdentityResult identityUserResult=UserManager.Create(appUser,model.Password);
roleManager.Create(新的IdentityRole(“管理员”));
AddToRole(appUser.Id,“Admin”);
我不知道如何使它工作。谁能告诉我一个好的教程?我使用azure作为存储,框架版本为4.5

ASP.NET成员资格系统早在2005年随ASP.NET 2.0一起引入,此后web应用程序通常处理身份验证和授权的方式发生了许多变化。ASP.NET Identity是在为web、电话或平板电脑构建现代应用程序时,会员制应该是什么的一个全新视角

2014年3月20日,ASP.NET团队发布了新身份框架的RTM 2.0版。新版本带来了一些期待已久的新功能,并标志着所有类型的ASP.NET应用程序可用的安全和授权功能的大幅扩展

ASP.NET Identity framework最初是在2013年推出的,作为ASP.NET成员资格系统的后续版本。ASP.NET成员资格系统是多年来MVC应用程序的主要组成部分,但它开始显示出它的时代。最初,ASP.NET Identity为在使用ASP.NET构建的面向公众的web应用程序的上下文中管理安全性和授权提供了一个有用的API,尽管该API有些小。Identity框架引入了现代功能,如社交网络登录集成和易于扩展的用户模型定义。 新的RTM版本引入了以下功能:

  • 扩展用户帐户定义,包括电子邮件和联系信息 通过电子邮件或短信进行双因素身份验证,功能类似于谷歌、微软和其他公司使用的功能
  • 通过电子邮件确认帐户
  • 用户和角色的管理
  • 帐户锁定以响应无效的登录尝试
  • 安全令牌提供程序,用于响应安全设置的更改而重新生成用户的安全令牌
  • 改进了对社交登录的支持
  • 轻松集成基于声明的授权
Identity 2.0是对去年推出的原始版本的重大修订。随着众多新特性的出现,复杂性也随之增加。如果像我一样,您最近刚刚通过身份框架的第一次迭代找到了自己的方法,请做好准备。虽然2.0版不会从头开始,但还有很多东西需要学习


好的……你的问题现在比我提供原始答案时有了更多的背景。这意味着你能够理解我的问题?……不是立刻,它不会。但是,现在我可以看到,你尝试的不仅仅是一个简单的检查,它还为我提供了一些代码,以便我可以尝试提供帮助。因此……在你编辑了你的问题,提供了你的实际错误文本和“其他方法”的代码之后,我想我对你的问题有了更多的理解。您是在使用EntityFramework还是什么?这个错误听起来很糟糕。他想使用ASPNet标识,他特别想找一个指向教程的链接。我添加了一个链接,以迅速引起人们对ASP.NET标识已发生变化这一事实的注意(我不知道他是否试图使用传统的ASP.NET标识),并添加了一个指向解释Identity 2.0基础知识的教程的链接。那么……这里面有什么值得投否决票的呢?@ChaudhryMohsinAli我没想到是你。关于你的问题,你能找到更多的信息吗?