Asp.net 删除角色并恢复表中的角色
因为一个错误。我使用了错误的命令。我想从表aspnet_UsersInRoles中删除用户角色。 我猜命令可能是Asp.net 删除角色并恢复表中的角色,asp.net,asp.net-membership,Asp.net,Asp.net Membership,因为一个错误。我使用了错误的命令。我想从表aspnet_UsersInRoles中删除用户角色。 我猜命令可能是 Roles.RemoveUserFromRole(userName, origin_role); 然而,我错误地使用了一个错误的命令 Roles.DeleteRole(origin_role,false); 最初,该表有4个角色。现在桌上的RoleId只有两个 61572264-4935-461d-9d8c-71f147f28c34 c09f25e6-fd6a-447b-8e0d
Roles.RemoveUserFromRole(userName, origin_role);
然而,我错误地使用了一个错误的命令
Roles.DeleteRole(origin_role,false);
最初,该表有4个角色。现在桌上的RoleId只有两个
61572264-4935-461d-9d8c-71f147f28c34
c09f25e6-fd6a-447b-8e0d-eba0cfc94e40
我如何找到并恢复它们?
非常感谢。我不想这么说,但你被水淹没了。默认的ASP.Net提供程序不包括任何类型的审核或软删除。如果您有数据库备份,您可以从中进行探索/恢复 我不想这么说,但你被水淹没了。默认的ASP.Net提供程序不包括任何类型的审核或软删除。如果您有数据库备份,您可以从中进行探索/恢复 下面是您调用的函数的源代码。 它调用dbo.aspnet_Roles_DeleteRole存储过程。 我目前没有访问asp.net成员数据库的权限,否则我会为您查询。 您可能希望检查存储过程的功能,但正如ssyladin提到的,我怀疑您是否能够恢复任何内容(因为您将throwOnPopulatedRole参数发送到false)
下面是您调用的函数的源代码。 它调用dbo.aspnet_Roles_DeleteRole存储过程。 我目前没有访问asp.net成员数据库的权限,否则我会为您查询。 您可能希望检查存储过程的功能,但正如ssyladin提到的,我怀疑您是否能够恢复任何内容(因为您将throwOnPopulatedRole参数发送到false)
public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
{
SecUtility.CheckParameter(ref roleName, true, true, true, 256, "roleName");
try {
SqlConnectionHolder holder = null;
try {
holder = SqlConnectionHelper.GetConnection(_sqlConnectionString, true);
CheckSchemaVersion( holder.Connection );
SqlCommand cmd = new SqlCommand("dbo.aspnet_Roles_DeleteRole", holder.Connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = CommandTimeout;
SqlParameter p = new SqlParameter("@ReturnValue", SqlDbType.Int);
p.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(p);
cmd.Parameters.Add(CreateInputParam("@ApplicationName", SqlDbType.NVarChar, ApplicationName));
cmd.Parameters.Add(CreateInputParam("@RoleName", SqlDbType.NVarChar, roleName));
cmd.Parameters.Add(CreateInputParam("@DeleteOnlyIfRoleIsEmpty", SqlDbType.Bit, throwOnPopulatedRole ? 1 : 0));
cmd.ExecuteNonQuery();
int returnValue = GetReturnValue(cmd);
if( returnValue == 2 )
{
throw new ProviderException(SR.GetString(SR.Role_is_not_empty));
}
return ( returnValue == 0 );
}
finally
{
if( holder != null )
{
holder.Close();
holder = null;
}
}
}
catch
{
throw;
}
}