Pregunta

Estoy tratando de configurar un "beta privada" para un sitio que estoy trabajando. El sitio utiliza Identificación abierta. No quiero que nadie ni siquiera navegar por las páginas si no son parte de la beta. ¿Cuál es la mejor manera de implementar esto? ¿Alguna sugerencia?

Por ejemplo:

Cuando el sitio va en vivo, los usuarios irán a http://www.mydomain.com que será no requiere que inicie sesión.

En la versión beta Quiero restringir el acceso. Los usuarios que van a http://www.mydomain.com serán redirigidos a una página de inicio de sesión. Cualquiera que intente acceder a cualquier parte de la página que no está autenticado será redirigido a la página de inicio de sesión.

Yo podría pegarse [Autorizar] atribuye todo mis acciones del controlador, pero que parece estúpida.

¿Fue útil?

Solución

Si está utilizando ASP.NET MVC, se trata con autenticación / autorización de la caja. Usted debe ser capaz de usarlo para configurar la autenticación en su sitio.

Si lo prefiere puede configuración del servidor de aplicaciones de configuración - IIS le permite definir nombre de usuario / contraseña en un sitio específico que ha de servir, independientemente de cual sea la aplicación real puede hacer. Si tiene acceso al servidor de aplicación esta podría ser la mejor solución.

Si está utilizando IIS 6, puede fácilmente la autorización de instalación. Haga clic derecho en su sitio> Propiedades> Seguridad de directorios Tab> autenticación y control de acceso> Editar, e introduzca un nombre de usuario / pwd de su elección. Hecho.

Otros consejos

es ¿Cómo están siendo invita a la pregunta real a la beta privada?

Se podría configurar una contraseña que cae una galleta al igual que lo hace serverfault.com.

o

Si sabe quién va a invitar: se puede añadir al sistema antes de la mano con el correo electrónico / Login información que ya sabe acerca de ellos (suponiendo que les está invitando a través de correo electrónico)

He implementado una función en una aplicación web hace un tiempo donde vamos la posibilidad de bloquear el acceso al sitio web a menos que el usuario era un administrador (que en nuestro caso significa que la cuenta de usuario era miembro de un grupo específico en Active Directory).

Se basa en dos cosas. En primer lugar, todas las páginas de la aplicación web no heredan directamente de la clase Page, pero a partir de una clase de página personalizado en nuestra aplicación web. En segundo lugar, hemos tenido un valor de este tipo en la sección appSettings del archivo web.config:

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

La clase de página personalizada comprobaría ese valor durante la carga. Si no fuera 0 sería redirigir a una página (que no heredan la misma clase de página personalizado, sin embargo) que informa al usuario de que "el sitio no está disponible en este momento". Si el valor de 0 la página cargaría como de costumbre.

En dicha solicitud se utilizó esto para poder tomar el sitio de "desconectado" cuando desplegamos una nueva versión, que nos da un tiempo para comprobar que todo estaba bien antes de dejar en los usuarios de nuevo.

La mejor manera son sistema de invitación (basado en el código de invitación) o manualmente el acceso de confirmación después de crear el perfil en su sistema. En mi humilde opinión

O se podría alojar el sitio en un servidor privado, y configurar una VPN para utilizarlo. Dependiendo de sus necesidades de recursos y esto puede ser la forma más fácil y segura de hacer lo que quiera sin modificar su código base.

O, alternativamente, se podría utilizar Apache o IIS para forzar la autenticación en el acceso al directorio de sitios web. Mantener la información de autenticación en .htaccess por un tiempo.

A pesar de que se utiliza la autenticación Open ID, puede que todavía necesite algún tipo de mecanismo de autorización. La forma más simple sería un sistema de roles de usuario en su base de datos que asigna diferentes roles a los usuarios

En su caso, simplemente asignar el rol private_beta a los invitados beta privada y asegurar que su mecanismo de autorización que todos los usuarios tienen privilegios private_beta antes de que puedan continuar.

Si no desea proporcionar la autorización para el sitio público (donde cada uno puede hacer todo, una vez autenticado) y, a continuación, puede que sólo necesite hacer un post-procesamiento rápido y sucio-(para la beta privada solamente) en su open_id autentica a los usuarios comprobar a retirarse una lista corta (que se puede almacenar en un archivo de texto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top