Comment initialiser SimpleMembershipProvider?

Je veux accéder aux fonctionnalités complètes de SimpleMembershipProvider telles que la méthode ValidateUser .

Donc, selon sa documentation, je ne devrais pas appeler WebSecurity.InitializeDatabaseConnection() pour l'initialisation et activer plutôt les fournisseurs de rôles et d'appartenances standard.

Ma question est: Comment puis-je initialiser la class SimpleMembershipProvider

Pour enfin: avoir access à toutes les fonctionnalités de SimpleMembershipProvider

ou s'il y a une meilleure solution, merci

Comment puis-je initialiser la class SimpleMembershipProvider

Si vous regardez le model d'application Internet ASP.NET MVC 4 par défaut, AccountController est décoré avec l'atsortingbut [InitializeSimpleMembership] . C'est ainsi qu'il est initialisé dans cet exemple. Cela signifie que vous serez en mesure de l'utiliser une fois que vous avez passé par le controller de count, pas avant. Si vous souhaitez utiliser votre fournisseur d'appartenances avant de vous authentifier, vous pouvez faire la même chose avec votre méthode Application_Start .

Si vous deviez merge l' InitializeSimpleMembershipAtsortingbute dans Global.asax.cs Application_Start afin que le SimpleMembershipProvider soit initialisé sans qu'aucune route SimpleMembershipProvider ne soit appelée …

… il pourrait ressembler à ceci: http://aaron-hoffman.blogspot.com/2013/02/aspnet-mvc-4-membership-users-passwords.html

 // The using below is needed for "UsersContext" - it will be relative to your project namespace using MvcApplication1.Models; using System; using System.Data.Entity; using System.Data.Entity.Infrastructure; using System.Threading; using System.Web.Http; using System.Web.Mvc; using System.Web.Optimization; using System.Web.Routing; using WebMasortingx.WebData; namespace MvcApplication1 { // Note: For instructions on enabling IIS6 or IIS7 classic mode, // visit http://go.microsoft.com/?LinkId=9394801 public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuthConfig.RegisterAuth(); // Ensure ASP.NET Simple Membership is initialized only once per app start LazyInitializer.EnsureInitialized(ref _initializer, ref _isInitialized, ref _initializerLock); } private static SimpleMembershipInitializer _initializer; private static object _initializerLock = new object(); private static bool _isInitialized; private class SimpleMembershipInitializer { public SimpleMembershipInitializer() { Database.SetInitializer<UsersContext>(null); try { using (var context = new UsersContext()) { if (!context.Database.Exists()) { // Create the SimpleMembership database without Entity Framework migration schema ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); } catch (Exception ex) { throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex); } } } } }