internal static void InitializeMembershipProvider( SimpleMembershipProvider simpleMembership, DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool createTables, SimpleMembershipProviderCasingBehavior casingBehavior ) { if (simpleMembership.InitializeCalled) { throw new InvalidOperationException( WebDataResources.Security_InitializeAlreadyCalled ); } simpleMembership.CasingBehavior = casingBehavior; simpleMembership.ConnectionInfo = connect; simpleMembership.UserIdColumn = userIdColumn; simpleMembership.UserNameColumn = userNameColumn; simpleMembership.UserTableName = userTableName; if (createTables) { simpleMembership.CreateTablesIfNeeded(); } else { // We want to validate the user table if we aren't creating them simpleMembership.ValidateUserTable(); } simpleMembership.InitializeCalled = true; }
internal static void InitializeRoleProvider( SimpleRoleProvider simpleRoles, DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool createTables, SimpleMembershipProviderCasingBehavior casingBehavior ) { if (simpleRoles.InitializeCalled) { throw new InvalidOperationException( WebDataResources.Security_InitializeAlreadyCalled ); } simpleRoles.CasingBehavior = casingBehavior; simpleRoles.ConnectionInfo = connect; simpleRoles.UserTableName = userTableName; simpleRoles.UserIdColumn = userIdColumn; simpleRoles.UserNameColumn = userNameColumn; if (createTables) { simpleRoles.CreateTablesIfNeeded(); } simpleRoles.InitializeCalled = true; }
public static void InitializeDatabaseConnection( string connectionStringName, string userTableName, string userIdColumn, string userNameColumn, bool autoCreateTables, SimpleMembershipProviderCasingBehavior casingBehavior) { DatabaseConnectionInfo connect = new DatabaseConnectionInfo(); connect.ConnectionStringName = connectionStringName; InitializeProviders(connect, userTableName, userIdColumn, userNameColumn, autoCreateTables, casingBehavior); }
private static void InitializeProviders( DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool autoCreateTables, SimpleMembershipProviderCasingBehavior casingBehavior ) { SimpleMembershipProvider simpleMembership = Membership.Provider as SimpleMembershipProvider; if (simpleMembership != null) { InitializeMembershipProvider( simpleMembership, connect, userTableName, userIdColumn, userNameColumn, autoCreateTables, casingBehavior ); } SimpleRoleProvider simpleRoles = Roles.Provider as SimpleRoleProvider; if (simpleRoles != null) { InitializeRoleProvider( simpleRoles, connect, userTableName, userIdColumn, userNameColumn, autoCreateTables, casingBehavior ); } Initialized = true; }
internal static int GetUserId( IDatabase db, string userTableName, string userNameColumn, string userIdColumn, SimpleMembershipProviderCasingBehavior casingBehavior, string userName) { dynamic result; if (casingBehavior == SimpleMembershipProviderCasingBehavior.NormalizeCasing) { // Casing is normalized in Sql to allow the database to normalize username according to its collation. The common issue // that can occur here is the 'Turkish i problem', where the uppercase of 'i' is not 'I' in Turkish. result = db.QueryValue(@"SELECT " + userIdColumn + " FROM " + userTableName + " WHERE (UPPER(" + userNameColumn + ") = UPPER(@0))", userName); } else if (casingBehavior == SimpleMembershipProviderCasingBehavior.RelyOnDatabaseCollation) { // When this option is supplied we assume the database has been configured with an appropriate casing, and don't normalize // the user name. This is performant but requires appropriate configuration on the database. result = db.QueryValue(@"SELECT " + userIdColumn + " FROM " + userTableName + " WHERE (" + userNameColumn + " = @0)", userName); } else { Debug.Fail("Unexpected enum value"); return -1; } if (result != null) { return (int)result; } return -1; }
internal static void InitializeRoleProvider( SimpleRoleProvider simpleRoles, DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool createTables, SimpleMembershipProviderCasingBehavior casingBehavior) { if (simpleRoles.InitializeCalled) { throw new InvalidOperationException(WebDataResources.Security_InitializeAlreadyCalled); } simpleRoles.CasingBehavior = casingBehavior; simpleRoles.ConnectionInfo = connect; simpleRoles.UserTableName = userTableName; simpleRoles.UserIdColumn = userIdColumn; simpleRoles.UserNameColumn = userNameColumn; if (createTables) { simpleRoles.CreateTablesIfNeeded(); } simpleRoles.InitializeCalled = true; }
internal static void InitializeMembershipProvider( SimpleMembershipProvider simpleMembership, DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool createTables, SimpleMembershipProviderCasingBehavior casingBehavior) { if (simpleMembership.InitializeCalled) { throw new InvalidOperationException(WebDataResources.Security_InitializeAlreadyCalled); } simpleMembership.CasingBehavior = casingBehavior; simpleMembership.ConnectionInfo = connect; simpleMembership.UserIdColumn = userIdColumn; simpleMembership.UserNameColumn = userNameColumn; simpleMembership.UserTableName = userTableName; if (createTables) { simpleMembership.CreateTablesIfNeeded(); } else { // We want to validate the user table if we aren't creating them simpleMembership.ValidateUserTable(); } simpleMembership.InitializeCalled = true; }
private static void InitializeProviders( DatabaseConnectionInfo connect, string userTableName, string userIdColumn, string userNameColumn, bool autoCreateTables, SimpleMembershipProviderCasingBehavior casingBehavior) { SimpleMembershipProvider simpleMembership = Membership.Provider as SimpleMembershipProvider; if (simpleMembership != null) { InitializeMembershipProvider(simpleMembership, connect, userTableName, userIdColumn, userNameColumn, autoCreateTables, casingBehavior); } SimpleRoleProvider simpleRoles = Roles.Provider as SimpleRoleProvider; if (simpleRoles != null) { InitializeRoleProvider(simpleRoles, connect, userTableName, userIdColumn, userNameColumn, autoCreateTables, casingBehavior); } Initialized = true; }
public static void InitializeDatabaseConnection( string connectionString, string providerName, string userTableName, string userIdColumn, string userNameColumn, bool autoCreateTables, SimpleMembershipProviderCasingBehavior casingBehavior) { DatabaseConnectionInfo connect = new DatabaseConnectionInfo(); connect.ConnectionString = connectionString; connect.ProviderName = providerName; InitializeProviders(connect, userTableName, userIdColumn, userNameColumn, autoCreateTables, casingBehavior); }