Pregunta

Estoy trabajando en un proyecto que puede suscribirse con su nombre de la empresa y se puede utilizar todas las características del sitio especificamente para su empresa. por ejemplo abcd empresa puede obtener su propia URL de nuestra página web como

www.test.com/abcd/productlist.aspx

EFGH empresa también puede iniciar sesión con su propia URL y ver su lista de productos.

www.test.com/efgh/productlist.aspx

Puede alguien ayudarme cómo puedo aplicar esto con mi sitio con mejores enfoques

Estoy pensando en el enfoque que va a utilizar el archivo Global.ascx distinguir empresas, voy a escribir código para extraer nombre de la empresa de URL en global.ascx para cada solicitud válida y en todas las páginas voy a poner this.form.action = Request.RawUrl.

¿Hay alguna otra enfoques? si alguien implementado este tipo de función, por favor hágamelo saber sus enfoques.

Gracias

¿Fue útil?

Solución 4

No se halló ninguna solución que se adapte totalmente a mi requerimiento, he escrito mi propia lógica para esto, que utiliza, la página Inicio de sesión, la página Base de BeginRequest Global.ascx y clases comunes creadas para Response.Redirect. Ya no estoy directamente utilizando Response.Redirect de Asp.Net, Caminos y variables de sesión, en lugar he creado envolturas más de ellos para agregar companyName de url para las rutas de acceso.

Quiero saber si usted necesita más información sobre el código

Otras respuestas son bienvenidos.

Gracias

Otros consejos

Si está trabajando con ASP.NET 3.5 SP1 entonces usted debe investigar la nueva > motor de enrutamiento que se ha introducido en el proyecto MVC. Esto hará que para una solución limpia.

Estamos utilizando la DLL de la http://urlrewriting.net y reglas similares a lo siguiente:

<urlrewritingnet xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
  <rewrites>
    <add name="Customer" virtualUrl="^~/([^/]+)/([^/]+).aspx" destinationUrl="~/$2.aspx?customer=$1"/>
    <add name="CustomerStart" virtualUrl="^~/([^/]+)/$" destinationUrl="~/Default.aspx?customer=$1"/>
    <add name="CustomerStartAddSlash" virtualUrl="^http\://([^/]+)/([a-zA-Z0-9_-]+)$"
                                      destinationUrl="http://www.example.com/$2/"
                                      redirect="Domain" redirectMode="Permanent" />
  </rewrites>
</urlrewritingnet>

Estas normas hacen las siguientes asignaciones. Estos son reescribe , por lo que el usuario siempre ve la URL de la izquierda en su navegador:

Rule 1: http://www.example.com/customerA/something.aspx => http://www.example.com/something.aspx?customer=customerA
Rule 2: http://www.example.com/customerA/ => http://www.example.com/Default.aspx?customer=customerA

La tercera regla es una redirección en lugar de una reescritura, es decir, se asegura que se añade la barra final en el navegador del usuario (se asegura de que las rutas relativas funcionan correctamente):

Rule 3: http://www.example.com/customerA => http://www.example.com/customerA/
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top