Asp.net mvc 升级到Asp.Net MVC 5会破坏MyCustomRoleProvider,can';在应用程序预启动初始化阶段不能调用
将以前的CustomRoleProvider升级到Asp.NETMVC5中的新提供程序的最佳方法是什么。我只是实现了这些方法并推出了自己的表(因为它是一个多数据库web应用程序) 升级我的身份验证最简单、最快的方法是什么 我以前的web.configAsp.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
<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