Pergunta

Estou trabalhando com o ASP.NET MVC e gostaria de tornar um site acessível pela Internet, mas apenas para algumas pessoas selecionadas no momento. Quero fazer algo basicamente exatamente como a página de acesso beta com senha, como fizeram no StackOverflow, ServerFault e SuperUser.

Não quero apenas verificar e redirecionar no controlador doméstico, quero que ele sempre vá para lá, não importa o que o URL seja usado.

Alguém sabe como eles fazem isso?

Foi útil?

Solução

Não sei o suficiente sobre o MVC em particular, mas provavelmente significaria criar um controlador básico e substituir o OnactionExecution ou a oautora.

Outras dicas

Eu criaria um filtro personalizado que estendia o Autorizeattribute. Dessa forma, você pode colocá -lo nos controladores/ações que desejar e removê -lo com bastante facilidade. Como é essencialmente um decorador, você estaria jogando bem com o Princípio aberto/fechado também.

Se você substituir AuthorizeCore Você pode verificar session/cookie/o que for para o login e, se isso passar, execute a base AuthorizeCore também.

A maneira mais fácil é colocar algo na sessão dos usuários. Execute uma verificação na página mestre ou em um manipulador HTTP para ver se esta sessão está correta ou não. Se não estiver redirecionando para a página de captura de senha. Quando a senha é fornecida, defina a variável da sessão ... wa la em que eles estão.

Se você quiser se lembrar deles, também solte um biscoito e adicione isso ao seu cheque também.

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