Conectando o Aplicativo Web do ASP.NET usando a Autenticação de Formulários com o SqlMembership Provider no Azure

Estou experimentando o portal do Microsoft Azure para ver o desempenho do meu aplicativo herdado com a menor quantidade de reescritas. Autenticação é um problema.

Segundo plano: atualmente, esse aplicativo Web do ASP.NET usa o SqlMembership Provider para usuários, funções, perfis e personalização. Sim, existem muitos blogs sobre a identidade do ASP.NET, associação simples, provedores universais e que o provedor SqlMembership do asp.net está sendo desativado. Mas, se possível, ainda prefiro usar a associação legada asp.net no Azure.

Atualmente, posso publicar minha solução do VS.NET 2013 no Azure, mas não consigo fazer login. Assim que eu navego para o URL, ele faz logon automaticamente como usuário do Portal do Azure. Parece quase que a autenticação do Windows está ativa, em vez de formulários. Aqui está como cheguei aqui:

Criei as tabelas de associação sql no Sql Azure usando scripts especiais compatíveis com o Azure para Sql Azure (aqui:https://support.microsoft.com/kb/2006191)

No entanto, quando executo meu aplicativo no site azul vs. quando executo localmente, vejo um comportamento diferente. No azure, um mecanismo de autenticação diferente ocorre: primeiro, eu sou solicitado a fazer login com meu ID organizacional (este é o meu email msdn) e, depois de inserir meu logon no Azure, automaticamente faço logon no meu aplicativo como live.com # myazureid@domain.com e eu não sou redirecionado para default.aspx, mas login.aspx e nenhum dos menus web.sitemap aparece além dos disponíveis para usuários não autenticados. Também criei um segundo usuário no portal jeff@mydomain.onmicrosoft.com e sou solicitado a fazer login no live, depois que sou inscrito automaticamente no aplicativo. Basicamente, ele age como se a autenticação do Windows estivesse ativa, não para autenticação de formulários. (Esclarecimento: Descobri mais tarde que esse comportamento é o Azure Active Directory.)

Por outro lado, quando meu aplicativo é executado localmente (vs.NET 2013) com minhas cadeias de conexão apontando para a mesma fonte de dados sql azure (as tabelas de associação), eu entro como esperado: insiro meu nome de usuário / senha de associação e vejo meu a página padrão e as páginas vinculadas às minhas funções são acessíveis, o usuário existe na tabela de usuários, etc. Obviamente, meu ambiente de tempo de execução local e o azure são diferentes e parece que o Azure está de alguma forma substituindo minhas configurações do provedor web.config e usando seu próprio mecanismo.

Meu web.config:

<authentication mode="Forms">
   <forms cookieless="UseCookies" defaultUrl="~/Default.aspx" loginUrl="~/PagesAnon/userLogin.aspx" requireSSL="false" slidingExpiration="true" timeout="45" />
</authentication>
<membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="2">
 <providers>
    <clear />
    <remove name="AspNetSqlMembershipProvider" />
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="4" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
  </providers>
</membership>
<roleManager defaultProvider="AspNetSqlRoleProvider" enabled="true" cacheRolesInCookie="true">
  <providers>
    <clear />
    <remove name="AspNetSqlRoleProvider" />
    <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</roleManager>