É ok para usar .NET MembershipProvider ter vários “pedidos” virtuais em um aplicativo web?
-
29-08-2019 - |
Pergunta
Eu quero construir portal-como aplicativo web asp.net partir do zero e estava olhando para asp.net MembershipProvider como uma maneira padrão para gerenciamento do usuário. Eu criei o meu provedor herdando de SqlMembershipProvider e substituição do método ValidateUser:
public override bool ValidateUser(string username, string password)
{
string temp = ApplicationName;
List<MtscApp> allApps = GetAllApplications();
foreach (MtscApp app in allApps)
{
ApplicationName = app.Name;
Roles.ApplicationName = app.Name;
if (base.ValidateUser(username, password))
{
return true;
}
}
ApplicationName = temp;
Roles.ApplicationName = temp;
return false;
}
Eu estou tentando validar credenciais inseridas contra todas as aplicações, enquanto GetAllApplicationsMethod () obtém todas as aplicações da tabela aspnet_Applications (Eu também tenho parte para a inserção de aplicações na mesma tabela).
Se a validação sucesso, em seguida, nome do aplicativo é com folhas em ambos os provedores de associação e papéis, caso contrário, ele permanece por um padrão que é predefinida aplicativo para usuários anônimos.
Solução
Sim, eu fiz somethihng semelhante em várias ocasiões. A única diferença que eu olhar para o nome do aplicativo em uma tabela de banco de dados com base na URL que o usuário vem em off de e só validar para que um aplicativo. A tabela tem dois campos, URL e ApplicationName. O ApplicationName é o mesmo ApplicationName como o campo aspnet_Applications.ApplicationName.