Pergunta

Eu estou tentando configurar um "beta privada" para um site que eu estou trabalhando. O site usa id aberto. Eu não quero que ninguém ainda consultar as páginas se eles não fazem parte do beta. Qual é a melhor maneira de implementar isso? Alguma sugestão?

Por exemplo:

Quando o site vai viver, os usuários vão para http://www.mydomain.com que irá não obrigá-los a entrar.

Para o beta eu quiser restringir o acesso. Os usuários que vão para http://www.mydomain.com será redirecionado para uma página de login. Qualquer tentativa de acessar qualquer parte do site que não é autenticado será redirecionado para a página de login.

Eu poderia ficar [autorizar] atributos todo minhas ações de controlador, mas que parece estúpido.

Foi útil?

Solução

Se você estiver usando ASP.NET MVC, ele vem com a autenticação / autorização fora da caixa. Você deve ser capaz de usar isso para autenticação foi configurada em seu site.

Alternativamente, você pode configurações do servidor de aplicativos de configuração - IIS permite a configuração de usuário / senha em um site específico que está servindo, independentemente do que a aplicação real pode fazer. Se você tiver acesso ao servidor de aplicativo esta pode ser a melhor solução.

Se você estiver usando IIS6, você pode autorização configuração facilmente. Clique com o botão direito do mouse em seu site> Propriedades> guia Diretório Segurança> Autenticação e Controle de Acesso> Editar e digite um nome de usuário / senha de sua escolha. Feito.

Outras dicas

A verdadeira questão é como eles estão sendo convidados para o beta privado?

Você poderia configurar uma senha que deixa um cookie muito parecido serverfault.com faz.

ou

Se você sabe quem você está convidando: você pode adicioná-los ao sistema antes da mão usando as informações de e-mail / login que você já sabe sobre eles (supondo que você está convidando-os por e-mail)

Eu tenho implementado uma função em uma aplicação web há um tempo atrás para onde vamos a possibilidade de bloquear o acesso ao site completo a menos que o usuário era um administrador (que no nosso caso significava que a conta de usuário era um membro de um grupo específico no Active Directory).

Foi baseado em duas coisas. Em primeiro lugar, todas as páginas do aplicativo web não herdado diretamente da classe de página, mas a partir de uma classe de página personalizada em nossa aplicação web. Em segundo lugar, tivemos um valor como este na seção appSettings do arquivo web.config:

<add key="adminaccessonly" value="0" />

A classe de página personalizada iria verificar que o valor quando o carregamento. Se não fosse 0 seria redirecionar para uma página (que não herdou a mesma classe de página personalizada, embora) informando o usuário que "o site não está disponível no momento". Se o valor é 0 a página iria carregar como de costume.

Nesse aplicativo, usamos isso para ser capaz de tirar o site "offline" quando implantou uma nova versão, dando-nos algum tempo para verificar que tudo estava bom antes de deixar entrar os usuários novamente.

A melhor maneira é sistema de convite (com base no código de convite) ou acesso a confirmação manualmente após criar o perfil no seu sistema. imho

Ou você poderia hospedar o site em um servidor privado, e configurar uma VPN para usá-lo. Dependendo de seus recursos e precisa esta pode ser a maneira mais fácil e mais segura de fazer o que quiser sem modificar sua base de código.

ou, alternativamente, você pode usar o Apache ou IIS para autenticação vigor no acesso ao diretório site. Manter a informação de autenticação no .htaccess por um tempo.

Mesmo que você usar a autenticação id aberto, você ainda pode precisar de algum tipo de mecanismo de autorização. A forma mais simples seria um sistema de utilizador-papéis em seu banco de dados que atribui diferentes funções a usuários

No seu caso, apenas atribuir o papel private_beta a seus convidados beta privado e garantir que o seu mecanismo de autorização que todos os usuários tenham privilégios private_beta antes que eles podem continuar.

Se você não quiser fornecer autorização para o site público (onde todos podem fazer tudo, uma vez autenticado), então, você pode só precisa fazer uma rápida e suja de processamento pós-(para beta privado apenas) em seu open_id autenticado usuários para verificá-los fora de uma lista curta (que você pode armazenar em um arquivo de texto.

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