{
string applicationName;
+ bool schemaIsOk = false;
ConnectionStringSettings connectionString;
DbProviderFactory factory;
DbConnection CreateConnection ()
{
+ if (!schemaIsOk && !(schemaIsOk = AspNetDBSchemaChecker.CheckMembershipSchemaVersion (factory, connectionString.ConnectionString, "role manager", "1")))
+ throw new ProviderException ("Incorrect ASP.NET DB Schema Version.");
+
DbConnection connection = factory.CreateConnection ();
connection.ConnectionString = connectionString.ConnectionString;
return dbp;
}
+ static DbParameter AddParameter (DbCommand command, string parameterName, ParameterDirection direction, DbType type, object parameterValue)
+ {
+ DbParameter dbp = command.CreateParameter ();
+ dbp.ParameterName = parameterName;
+ dbp.Value = parameterValue;
+ dbp.Direction = direction;
+ dbp.DbType = type;
+ command.Parameters.Add (dbp);
+ return dbp;
+ }
+
public override void AddUsersToRoles (string [] usernames, string [] rolenames)
{
Hashtable h = new Hashtable ();
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "RoleNames", String.Join (",", rolenames));
- AddParameter (command, "UserNames", String.Join (",", usernames));
- AddParameter (command, "ApplicationName", ApplicationName);
- AddParameter (command, "CurrentTimeUtc", DateTime.UtcNow);
- DbParameter dbpr = AddParameter (command, null, ParameterDirection.ReturnValue, null);
+ AddParameter (command, "@RoleNames", String.Join (",", rolenames));
+ AddParameter (command, "@UserNames", String.Join (",", usernames));
+ AddParameter (command, "@ApplicationName", ApplicationName);
+ AddParameter (command, "@CurrentTimeUtc", DateTime.UtcNow);
+ DbParameter dbpr = AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null);
command.ExecuteNonQuery ();
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "ApplicationName", ApplicationName);
- AddParameter (command, "RoleName", rolename);
- DbParameter dbpr = AddParameter (command, null, ParameterDirection.ReturnValue, null);
+ AddParameter (command, "@ApplicationName", ApplicationName);
+ AddParameter (command, "@RoleName", rolename);
+ DbParameter dbpr = AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null);
command.ExecuteNonQuery ();
int returnValue = (int) dbpr.Value;
command.CommandText = @"dbo.aspnet_Roles_DeleteRole";
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "ApplicationName", ApplicationName);
- AddParameter (command, "RoleName", rolename);
- AddParameter (command, "DeleteOnlyIfRoleIsEmpty", throwOnPopulatedRole);
- DbParameter dbpr = AddParameter (command, null, ParameterDirection.ReturnValue, null);
+ AddParameter (command, "@ApplicationName", ApplicationName);
+ AddParameter (command, "@RoleName", rolename);
+ AddParameter (command, "@DeleteOnlyIfRoleIsEmpty", throwOnPopulatedRole);
+ DbParameter dbpr = AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null);
command.ExecuteNonQuery ();
int returnValue = (int)dbpr.Value;
command.CommandText = @"dbo.aspnet_UsersInRoles_FindUsersInRole";
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "ApplicationName", ApplicationName);
- AddParameter (command, "RoleName", roleName);
- AddParameter (command, "UsernameToMatch", usernameToMatch);
+ AddParameter (command, "@ApplicationName", ApplicationName);
+ AddParameter (command, "@RoleName", roleName);
+ AddParameter (command, "@UsernameToMatch", usernameToMatch);
DbDataReader reader = command.ExecuteReader ();
ArrayList userList = new ArrayList ();
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "ApplicationName", ApplicationName);
+ AddParameter (command, "@ApplicationName", ApplicationName);
DbDataReader reader = command.ExecuteReader ();
ArrayList roleList = new ArrayList ();
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "UserName", username);
- AddParameter (command, "ApplicationName", ApplicationName);
+ AddParameter (command, "@UserName", username);
+ AddParameter (command, "@ApplicationName", ApplicationName);
DbDataReader reader = command.ExecuteReader ();
ArrayList roleList = new ArrayList ();
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "RoleName", rolename);
- AddParameter (command, "ApplicationName", ApplicationName);
+ AddParameter (command, "@RoleName", rolename);
+ AddParameter (command, "@ApplicationName", ApplicationName);
DbDataReader reader = command.ExecuteReader ();
ArrayList userList = new ArrayList ();
base.Initialize (name, config);
- applicationName = config ["applicationName"];
+ applicationName = GetStringConfigValue (config, "applicationName", "/");
string connectionStringName = config ["connectionStringName"];
if (applicationName.Length > 256)
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "RoleName", rolename);
- AddParameter (command, "UserName", username);
- AddParameter (command, "ApplicationName", ApplicationName);
- DbParameter dbpr = AddParameter (command, null, ParameterDirection.ReturnValue, null);
+ AddParameter (command, "@RoleName", rolename);
+ AddParameter (command, "@UserName", username);
+ AddParameter (command, "@ApplicationName", ApplicationName);
+ DbParameter dbpr = AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null);
command.ExecuteNonQuery ();
int returnValue = (int) dbpr.Value;
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "UserNames", String.Join (",", usernames));
- AddParameter (command, "RoleNames", String.Join (",", rolenames));
- AddParameter (command, "ApplicationName", ApplicationName);
- DbParameter dbpr = AddParameter (command, null, ParameterDirection.ReturnValue, null);
+ AddParameter (command, "@UserNames", String.Join (",", usernames));
+ AddParameter (command, "@RoleNames", String.Join (",", rolenames));
+ AddParameter (command, "@ApplicationName", ApplicationName);
+ DbParameter dbpr = AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null);
command.ExecuteNonQuery ();
int returnValue = (int) dbpr.Value;
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
- AddParameter (command, "ApplicationName", ApplicationName);
- AddParameter (command, "RoleName", rolename);
- DbParameter dbpr = AddParameter (command, null, ParameterDirection.ReturnValue, null);
+ AddParameter (command, "@ApplicationName", ApplicationName);
+ AddParameter (command, "@RoleName", rolename);
+ DbParameter dbpr = AddParameter (command, "@ReturnVal", ParameterDirection.ReturnValue, DbType.Int32, null);
command.ExecuteNonQuery ();
int returnValue = (int) dbpr.Value;