none
tabla aspnet_users y relacion con base de datos existente RRS feed

  • Pregunta

  • Buenas noches

    Ejecute la herramienta aspnet_regsql.exe, y cree las correspondientes tablas para logear a los usuarios de mi aplicacion asp.net pero quiero que cuando se cree un usuario lo pueda asociar a un codigo de empresa, estuve revisando las columnas de la tabla aspnet-users, pero no se como hacerlo.

    Quiero asociarlo a una tabla de mi base de datos ya existente que se llama "Empresa" alli registro una nueva empresa con su correspondiente código de empresa, quiero que se pueda asociar este codigo en la creación de un nuevo usuario.

    He pensado en crear un campo adicional en la tabla aspnet_users que se llama cod_emp (codigo de empresa) y relacionarlo con la tabla empresa mediante clave externa pero no se si esta bien hacerlo asi

     

    Agradezco su colaboración.

    jueves, 26 de mayo de 2011 2:29

Respuestas

  • Lo podrías hacer así pero creando mejor el campo en la base de datos en donde está la tabla de  Empresa, creas el campo cod_user y cuando creas el usuario lo asocias allí! así el log también lo podrás sujetar. De esta forma si el sitio requiere más tablas de asociación el usuario no quedara sujeto con el id de una empresa!

    Más lo que tu quieres es asociar un usuario a la empresa!

     

    Saludos!


    Ingphillip's Prog
    Recetas ASP.NET

    No uses el copy-paste, No es nada sano ni recomendable....


    Si las respuestas son de utilidad y/o responden a tus preguntas es bueno para los foros marcarlas como tal.

    jueves, 26 de mayo de 2011 2:40
  • hola

    seguramente lo que debas crerar es una tabla de relacion que sea EmpresaUsuarios

    en este tendrias dos campos IdEmpresa y IdUser

    imagen

    como veras en la imagen la tabla aspnet_users tuene unc ampo UserId bueno en la tabla intermedia deberias definir el campo IdUser de este mismo tipo y relacionarlo

    el otro campo IdEmpresase uniria a tu tabla

    de esta forma conectando los usuario con als empresas obtienes la relacion

     

    He pensado en crear un campo adicional en la tabla aspnet_users que se llama cod_emp

    no es aconsejable modficar la estructura de las tablas de asp.net membership porque recupera que pore detras hay stored procedure y ademas las librerias como ser las clases Roels y Memebershiop que tienes codigo que usan esas tablas, si cambias la estructura podrias generar problema en la funcionaldiad de seguridad implementada por asp.net

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 26 de mayo de 2011 2:58
  • Miguel debes tener en cuenta!, quieres un sólo usuario por empresa? o n usarios por empresa.

     

    Saludos!


    Ingphillip's Prog
    Recetas ASP.NET

    No uses el copy-paste, No es nada sano ni recomendable....


    Si las respuestas son de utilidad y/o responden a tus preguntas es bueno para los foros marcarlas como tal.

    jueves, 26 de mayo de 2011 3:07
  • me sonaria algo raro que una empresa tenga un solo usuario, al menos el modelado normal si uno analizia una empresa dice que esta compuesta por muchas personas

    pero mas alla de eso de ultima podria dejarlo abierto a nivel estructura de datos para no limitarlo y que por codigo solo permita un unico registro en la relacion, de esta forma no ata la estrutura de datos

    y ademas evita acoiplar su dominio con el de las tablas de asp.net, ni modificar la tabla aspnet_users lo cual no recomendaria cambiar


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 26 de mayo de 2011 3:17
  • Sip de acuerdo! Además que membership te permite el multi-login  sitios existentes dentro del Pool de aplicaciones y que estén asociados a diferentes contextos de datos.

     


    Ingphillip's Prog
    Recetas ASP.NET

    No uses el copy-paste, No es nada sano ni recomendable....


    Si las respuestas son de utilidad y/o responden a tus preguntas es bueno para los foros marcarlas como tal.

    jueves, 26 de mayo de 2011 3:49

Todas las respuestas

  • Lo podrías hacer así pero creando mejor el campo en la base de datos en donde está la tabla de  Empresa, creas el campo cod_user y cuando creas el usuario lo asocias allí! así el log también lo podrás sujetar. De esta forma si el sitio requiere más tablas de asociación el usuario no quedara sujeto con el id de una empresa!

    Más lo que tu quieres es asociar un usuario a la empresa!

     

    Saludos!


    Ingphillip's Prog
    Recetas ASP.NET

    No uses el copy-paste, No es nada sano ni recomendable....


    Si las respuestas son de utilidad y/o responden a tus preguntas es bueno para los foros marcarlas como tal.

    jueves, 26 de mayo de 2011 2:40
  • hola

    seguramente lo que debas crerar es una tabla de relacion que sea EmpresaUsuarios

    en este tendrias dos campos IdEmpresa y IdUser

    imagen

    como veras en la imagen la tabla aspnet_users tuene unc ampo UserId bueno en la tabla intermedia deberias definir el campo IdUser de este mismo tipo y relacionarlo

    el otro campo IdEmpresase uniria a tu tabla

    de esta forma conectando los usuario con als empresas obtienes la relacion

     

    He pensado en crear un campo adicional en la tabla aspnet_users que se llama cod_emp

    no es aconsejable modficar la estructura de las tablas de asp.net membership porque recupera que pore detras hay stored procedure y ademas las librerias como ser las clases Roels y Memebershiop que tienes codigo que usan esas tablas, si cambias la estructura podrias generar problema en la funcionaldiad de seguridad implementada por asp.net

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 26 de mayo de 2011 2:58
  • Miguel debes tener en cuenta!, quieres un sólo usuario por empresa? o n usarios por empresa.

     

    Saludos!


    Ingphillip's Prog
    Recetas ASP.NET

    No uses el copy-paste, No es nada sano ni recomendable....


    Si las respuestas son de utilidad y/o responden a tus preguntas es bueno para los foros marcarlas como tal.

    jueves, 26 de mayo de 2011 3:07
  • me sonaria algo raro que una empresa tenga un solo usuario, al menos el modelado normal si uno analizia una empresa dice que esta compuesta por muchas personas

    pero mas alla de eso de ultima podria dejarlo abierto a nivel estructura de datos para no limitarlo y que por codigo solo permita un unico registro en la relacion, de esta forma no ata la estrutura de datos

    y ademas evita acoiplar su dominio con el de las tablas de asp.net, ni modificar la tabla aspnet_users lo cual no recomendaria cambiar


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 26 de mayo de 2011 3:17
  • Sip de acuerdo! Además que membership te permite el multi-login  sitios existentes dentro del Pool de aplicaciones y que estén asociados a diferentes contextos de datos.

     


    Ingphillip's Prog
    Recetas ASP.NET

    No uses el copy-paste, No es nada sano ni recomendable....


    Si las respuestas son de utilidad y/o responden a tus preguntas es bueno para los foros marcarlas como tal.

    jueves, 26 de mayo de 2011 3:49
  • gracias Leandro!!!
    jueves, 26 de mayo de 2011 4:07
  • gracias felipe!!
    jueves, 26 de mayo de 2011 4:07
  • si claro deseo que varios usuarios tengan asociados una empresa, gracias a ustedes por sus repuestas!!

    jueves, 26 de mayo de 2011 4:08
  • Hola miguel, me gustaria saber como resolviste este inconveniente, esto realizando un proyecto y tengo el mismo inconveniente tuyo. Cual fue la decision que tomaste? 

    CADAVID

    miércoles, 15 de febrero de 2012 23:17
  • Hola Cadavid

    Lo que he hecho es crear una tabla llamada asociaciones dentro de la base de datos donde coloco el Id de usuario y el Id de empresa, y coloco los dos atributos como clave compuesta de esta forma obtengo una relación uno a muchos.

    Asi matengo una mejor administración de las asociaciones.

    Espero haberte ayudado.

    Cordial saludo.

    miércoles, 22 de febrero de 2012 4:01