簡體   English   中英

Net Core:找不到類型或命名空間名稱“RoleProvider”

[英]Net Core: Type or namespace name 'RoleProvider' could not be found

我正在將項目從.Net 4.6.2遷移到.Net Core 2.0。 Net Core中RoleProvider的替代品是什么?

找不到類型或命名空間名稱“RoleProvider”(您是否缺少using指令或程序集引用?)

 public class CustomerRoleProvider : RoleProvider
    {
        public override string CustomerName { get; set; }

        public override void AddUsersToRoles(string[] usernames, string[] roleNames)
        {

新代碼看起來像這樣,收到錯誤

Using the generic type 'RoleManager<TRole>' requires 1 type arguments

// Error first line: Using the generic type 'RoleManager<TRole>' requires 1 type arguments

public class CustomerRoleProvider : RoleManager
{
    public string ApplicationName { get; set; }

    public void CreateRole(IServiceProvider serviceProvider, string roleName)
    {
        var RoleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
        throw new NotImplementedException();
    }

更新: John Kenney的回答看起來很棒,希望有人可以在他的回答中添加更多內容作為編輯。

RoleProvider在.NET Core中不存在,至少不是那種形式。 我相信你要找的是RoleManager 實現與以下內容非常相似:

var RoleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
var UserManager = serviceProvider.GetRequiredService<UserManager<ApplicationUser>>();

請參閱本文以獲取有關如何實現它的詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM