É ok para usar .NET MembershipProvider ter vários “pedidos” virtuais em um aplicativo web?

StackOverflow https://stackoverflow.com/questions/399941

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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top