Lograr la seguridad del sitio web implica los siguientes aspectos:
Autenticación de identidad : el proceso de confirmar la identidad y autenticidad de un usuario. En ASP.NET se proporcionan cuatro tipos de autenticación:
Certificación de Windows
autenticación de formulario
Autenticación
Autenticación personalizada
Autorización : El proceso de definir y asignar roles específicos a usuarios específicos.
Confidencialidad : Incluye cifrado para navegadores de clientes y servidores web.
Integridad : Mantener la integridad de los datos. Por ejemplo, implementar firmas digitales.
En términos generales, la autenticación basada en formularios implica editar un archivo de configuración de red y una página de registro con un código de verificación. El archivo de configuración de red se puede escribir con el siguiente código:
<configuración><sistema.web> <modo de autenticación="Formularios"> <formularios loginUrl ="login.aspx"/> </autenticación> <autorización> <denegar usuarios="?"/> </autorización></sistema .web>......</configuración>
La página login.aspx mencionada en el fragmento de código anterior puede contener el siguiente código, incluido el nombre de usuario y la contraseña para la autenticación, que es difícil de codificar en el archivo.
protected bool authenticate(String uname, String pass){ if(uname == "Tom") { if(pass == "tom123") return true } if(uname == "Dick") { if(pass == "; dick123") devuelve verdadero; } if(uname == "Harry") { if(pass == "har123") devuelve verdadero; } devuelve falso;}public void OnLogin(Object src, EventArgs e){ if (authenticate(txtuser.Text, txtpwd.Text)) { FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked } else { Response.Write("Nombre de usuario o contraseña no válidos" }}
Tenga en cuenta que la clase FormsAuthentication se utiliza para el proceso de autenticación.
Sin embargo, Visual Studio facilita la implementación perfecta de la creación, autenticación y autorización de usuarios a través de la herramienta de administración del sitio web sin escribir ningún código. Esta herramienta permite la creación de usuarios y roles.
Además, ASP.NET tiene una serie de controles de inicio de sesión listos para usar que pueden controlar y realizar todo el trabajo por usted.
Para configurar la autenticación basada en formularios, debe hacer lo siguiente:
Base de datos de usuarios para apoyar el proceso de autenticación.
Un sitio web que utiliza una base de datos.
cuenta de usuario
Role
Limitaciones de las actividades de los usuarios y de las actividades grupales.
Una página de usuario que muestra el estado del usuario y otra información.
Una interfaz de inicio de sesión que permite a los usuarios iniciar sesión, recuperar contraseñas y cambiar contraseñas.
Para crear un usuario se deben seguir los siguientes pasos:
Paso 1: seleccione Sitio web->Configurar ASP.NET para abrir la herramienta de administración de aplicaciones web.
Paso 2: haga clic en Opciones de seguridad.
Paso 3: seleccione la opción "Autenticación basada en formularios" para configurar el tipo de autenticación en "Desde Internet".
Paso 4: haga clic en "Crear usuarios". Si ya ha creado una función, puede asignarla al usuario en este paso.
Paso 5: cree un sitio web y agregue las siguientes páginas:
pagina de bienvenida
Página de inicio de sesión
Página de registro
Página de recuperación de contraseña
Cambiar página de contraseña
Paso 6: establezca un control de estado de inicio de sesión en la sección de inicio de sesión de la página de bienvenida. Contiene dos cuadros estándar: LoggedIn y LoggedOut.
LoggedIn tiene la opción de ver los usuarios que han iniciado sesión y LoggedOut tiene la opción de ver los usuarios que han iniciado sesión. Puede cambiar las propiedades del texto de inicio y cierre de sesión en la ventana de propiedades.
Paso 7: Configure un control LoginView debajo del control LoginStatus. Puede configurar algún otro texto u otros controles (como hipervínculos, botones, etc.) que reflejen si el usuario ha iniciado sesión.
Este control tiene dos cuadros estándar: el cuadro Anónimo y el cuadro Iniciar sesión. Seleccione cada vista y escriba un texto para que el usuario lo muestre cuando se seleccione el cuadro de criterios. El texto debe colocarse en el área marcada en rojo en la imagen a continuación.
Paso 8: el desarrollador crea usuarios de la aplicación. Es posible que desee permitir que los visitantes también creen una cuenta de usuario. Para lograr esto, puede agregar un enlace bajo el control LoginView que lo lleve a la página de registro.
Paso 9: Configure un control CreateUserWizard en la página de registro. Establezca la propiedad ContinueDestinationPageUrl de este control para asegurarse de que pueda ir a la página de bienvenida.
Paso 10: cree una página de inicio de sesión. Configure un control de inicio de sesión en esta página. El control LoginStatus se conecta automáticamente a la página de inicio de sesión. Puede cambiar esta configuración predeterminada realizando los siguientes cambios en el archivo de configuración de red.
Por ejemplo, si nombró su página de inicio de sesión signup.aspx, podría agregar las siguientes líneas de código al archivo de configuración de red.
<configuración> <system.web> <modo de autenticación="Formularios"> <formularios loginUrl ="signup.aspx" defaultUrl = “Bienvenido.aspx” /> </autenticación> </system.web></configuration>
Paso 11: Los usuarios suelen olvidar sus contraseñas. El control PasswordRecovery ayuda a los usuarios a recuperar el inicio de sesión en esta cuenta. Seleccione el control de inicio de sesión. Abra su pequeña pestaña y seleccione 'Convertir en plantilla'.
Al personalizar la interfaz de usuario de este control, coloque un control de hipervínculo debajo del botón de inicio de sesión. Este control debería poder vincularse a la página de recuperación de contraseña.
Paso 12: establezca un control de recuperación de contraseña en la página de recuperación de contraseña. Este control requiere que el servidor de correo envíe la contraseña al usuario.
Paso 13: Establezca un enlace a la página de cambio de contraseña en el cuadro Iniciar sesión del control LoginView en la página de bienvenida.
Paso 14: Establezca un control ChangePassword en la página de cambio de contraseña. Este control tiene dos vistas:
Ahora ejecuta la aplicación y observa las diferentes operaciones de seguridad. Puede volver a la herramienta de administración de aplicaciones web y hacer clic en la opción de seguridad para crear una función. Haga clic en "Crear funciones" para crear algunas funciones para esta aplicación.
Haga clic en 'Administrar usuarios' para asignar roles a los usuarios.
Secure Sockets Layer (SSL) es un protocolo utilizado para garantizar conexiones seguras. Al utilizar SSL, el navegador cifra todos los datos enviados al servidor y descifra todos los datos del servidor. Al mismo tiempo, el servidor también cifrará y descifrará todos los datos en el navegador Liangzi.
La URL para una conexión segura utiliza el protocolo HTTPS en lugar del protocolo HTTP. Los navegadores que utilicen conexiones seguras también mostrarán un pequeño candado. Cuando un navegador se comunica activamente con un servidor mediante SSL, el servidor envía un certificado de seguridad para autenticar el servidor.
Para utilizar SSL, debe comprar un certificado de seguridad digital de una autoridad de certificación (CA) confiable e instalar el certificado en el servidor de red. Las siguientes son algunas organizaciones de certificación confiables y con buena reputación:
www.verisign.com
www.geotrust.com
www.thawte.com
SSL está integrado en todos los principales navegadores y servidores. Para habilitar SSL, necesita instalar un certificado digital. La solidez de los diferentes certificados digitales varía según la longitud de la clave generada durante el proceso de cifrado. Cuanto más larga sea la clave, más seguro será el certificado y más segura la conexión.
fortaleza | describir |
---|---|
40 bits | Admite la mayoría de los navegadores pero es fácil de piratear. |
56 bits | Más robusto que 40 bits. |
128 bits | Es difícil de descifrar, pero no todos los navegadores lo admiten. |