AJAX: Cómo securizar el JavaScript

En el post anterior, Cómo “embeber” un archivo JavaScript en una DLL, explique que habría una forma de proteger los archivos según los roles de usuarios. Vargas no entendio cual era mi intención y aquí la explicaré.

La situación inicial es que el JavaScript lo tenemos embebido en la DLL, imaginemos que en vez de un archivo ClientLibrary.js, tenemos un ClientLibraryUser.js, con funciones básicas para un usuario, y un ClientLibraryAdmin.js, con funciones de administración (servicios, etc.).

Entonces lo que vamos a hacer en vez de añadir la referencia en el ScriptManager, vamos a hacer lo siguiente en el evento Load de la página:

protected void Page_Load(object sender, EventArgs e)

{

    ScriptManager1.Scripts.Add(

        new ScriptReference("AjaxLibrary.ClientLibraryUser.js", "AjaxLibrary"));

    if (User.IsInRole("Admin"))

        ScriptManager1.Scripts.Add(

            new ScriptReference("AjaxLibrary.ClientLibraryAdmin.js", "AjaxLibrary"));

}

¿Qué estamos haciendo?

Por defecto cargamos el archivo ClientLibraryUser.js y, además, si el usuario es administrador cargará la ClientLibraryAdmin.js.

Por lo tanto, la segunda biblioteca sólo llegará al cliente si el cliente es administrador.

 

http://eugenioestrada.es/blog

No Comments