Реализация RoleProvider дает ошибку сборки? - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь реализовать аутентификацию формы в asp.net MVC и не могу правильно реализовать интерфейс RoleProvider. Я использую asp.net MVC 4.5 и Visual Studio 2017. Мой класс RoleProvider выглядит следующим образом.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;

namespace AITC_KCCIS
{
    public class MyRoleProvider : RoleProvider
    {
        public override string ApplicationName { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }

        public override void AddUsersToRoles(string[] usernames, string[] roleNames)
        {
            throw new NotImplementedException();
        }

        public override void CreateRole(string roleName)
        {
            throw new NotImplementedException();
        }

        public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
        {
            throw new NotImplementedException();
        }

        public override string[] FindUsersInRole(string roleName, string usernameToMatch)
        {
            throw new NotImplementedException();
        }

        public override string[] GetAllRoles()
        {
            throw new NotImplementedException();
        }

        public override string[] GetRolesForUser(string username)
        {
            throw new NotImplementedException();
        }

        public override string[] GetUsersInRole(string roleName)
        {
            throw new NotImplementedException();
        }

        public override bool IsUserInRole(string username, string roleName)
        {
            throw new NotImplementedException();
        }

        public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
        {
            throw new NotImplementedException();
        }

        public override bool RoleExists(string roleName)
        {
            throw new NotImplementedException();
        }
    }
}

Мой файл webconfig выглядит так:

<system.web>
<!--<authentication mode="None" />-->
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
<authentication mode="Forms">
  <forms loginUrl="account/login"></forms>
</authentication>
<roleManager enabled="true" defaultProvider="MyProvider">
  <providers>
    <clear/>
    <add name="MyProvider" type="AITC_KCCIS.MyRoleProvider"/>
  </providers>
</roleManager>
<httpModules>
  <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
</httpModules>

Затем при создании проекта я получил ошибку в

public override string ApplicationName { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }

И ошибка такая:

"} ожидается" "{или; ожидается"

Но я не нашел ни одной из этих ошибок в классе моего провайдера.

1 Ответ

0 голосов
/ 23 июня 2019

При импорте я получил ошибку и решил ее, заменив часть ошибки следующим кодом:

Текущий код:

   public override string ApplicationName
    {
        get { throw new NotImplementedException(); }
        set { throw new NotImplementedException(); }
    }

Предыдущий код:

    public override string ApplicationName
    {
        get => throw new NotImplementedException();
        set => throw new NotImplementedException();
    }
...