Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
Asp.net mvc 升级到Asp.Net MVC 5会破坏MyCustomRoleProvider,can';在应用程序预启动初始化阶段不能调用_Asp.net Mvc_Forms Authentication_Asp.net Identity_Owin_Claims Based Identity - Fatal编程技术网

Asp.net mvc 升级到Asp.Net MVC 5会破坏MyCustomRoleProvider,can';在应用程序预启动初始化阶段不能调用

Asp.net mvc 升级到Asp.Net MVC 5会破坏MyCustomRoleProvider,can';在应用程序预启动初始化阶段不能调用,asp.net-mvc,forms-authentication,asp.net-identity,owin,claims-based-identity,Asp.net Mvc,Forms Authentication,Asp.net Identity,Owin,Claims Based Identity,将以前的CustomRoleProvider升级到Asp.NETMVC5中的新提供程序的最佳方法是什么。我只是实现了这些方法并推出了自己的表(因为它是一个多数据库web应用程序) 升级我的身份验证最简单、最快的方法是什么 我以前的web.config <roleManager enabled="true" defaultProvider="MyCustomRoleProvider" cacheRolesInCookie="true" createPersistentCookie="tr

将以前的CustomRoleProvider升级到Asp.NETMVC5中的新提供程序的最佳方法是什么。我只是实现了这些方法并推出了自己的表(因为它是一个多数据库web应用程序)

升级我的身份验证最简单、最快的方法是什么

我以前的web.config

  <roleManager enabled="true" defaultProvider="MyCustomRoleProvider" cacheRolesInCookie="true" createPersistentCookie="true">
  <providers>
    <clear />
    <add name="MyCustomRoleProvider" type="FacturatieMVCv2.Web.Core.MyCustomRoleProvider" />
  </providers>
</roleManager>

您需要在
web.config
中删除所有提及
roleManager
membershipProvider
。新的身份框架不是直接从
成员资格提供程序更新的。而且通常需要进行大量的升级工作。您看到升级的方法了吗?

IMO您需要制定更具体的问题。这个问题有点像“请修复我的代码”。这可能不是这个意思,但问题是模糊的,它实际上更像是Asp.NETMVC4与Asp.NETMVC5的身份/认证问题。以前一切都很好(使用customProviders),但现在有了新的Asp.Net标识,我在迁移到最新方法时遇到了一些问题。。。我的角色是枚举中的管理员/支持和用户。现在他们正在使用索赔。我不能说得更具体,因为这是关于过去和现在的Asp.Net身份验证。我真的不明白你的意思。MVC5中的成员资格提供者没有改变。有一个新的ASP.NET标识,但是如果您不使用它,那就不重要了。老供应商仍然像往常一样工作。你的问题可能与其他问题有关。您是否也升级到了较新版本的IIS?更重要的是,给我们代码,只是调用其他我们看不到的客户代码,并没有太大帮助。。。我们不知道你的用户服务是做什么的。。。您也没有告诉我们实际问题发生在哪里(应用程序启动前的初始化)
Imports FacturatieMVCv2.Service
Imports FacturatieMVCv2.Domain.Common
Imports System.Web
Imports FacturatieMVCv2.Web.Core

Public Class MyCustomRoleProvider
    Inherits System.Web.Security.RoleProvider


    Dim _userService As Master.UserService
    Public Sub New(ByVal UserService As Master.IUserService)
        _userService = UserService
    End Sub
    Public Sub New()

    End Sub
    Public Overrides Sub AddUsersToRoles(usernames() As String, roleNames() As String)
    End Sub

    Public Overrides Property ApplicationName As String
        Get
            Return My.Application.Info.AssemblyName
        End Get
        Set(value As String)

        End Set
    End Property

    Public Overrides Sub CreateRole(roleName As String)
        Throw New NotImplementedException("UsesBitWiseOperations, change the ENUM Field")
    End Sub

    Public Overrides Function DeleteRole(roleName As String, throwOnPopulatedRole As Boolean) As Boolean
        Throw New NotImplementedException("UsesBitWiseOperations, change the ENUM Field")
    End Function

    Public Overrides Function FindUsersInRole(roleName As String, usernameToMatch As String) As String()
        Return _userService.FindUsersInRole(roleName, usernameToMatch).Select(Function(el) el.UserName)
    End Function

    Public Overrides Function GetAllRoles() As String()
        Return _userService.GetAllRoles
    End Function

    Public Overrides Function GetRolesForUser(username As String) As String()
        Return _userService.GetRolesForUser(username)
    End Function

    Public Overrides Function GetUsersInRole(roleName As String) As String()
        Return _userService.GetUsersInRole(roleName).Select(Function(el) el.UserName)
    End Function

    Public Overrides Function IsUserInRole(username As String, roleName As String) As Boolean
        Return _userService.IsUserInRole(username, roleName)
    End Function

    Public Overrides Sub RemoveUsersFromRoles(usernames() As String, roleNames() As String)
        _userService.RemoveUsersFromRoles(usernames, roleNames)
    End Sub

    Public Overrides Function RoleExists(roleName As String) As Boolean
        Return _userService.RoleExists(roleName)
    End Function
End Class