Re: simulate virtual directory for each user
From: Scott Allen (bitmask_at_[nospam)
Date: 02/03/04
- Next message: Wolfgang Kaml: "Re: amazing finding (!!!) - MS folks, pls check this out!!! Re: annoying delay during refresh of aspx web page with ODBC Access query on IIS Windows 2003"
- Previous message: charles: "Folder security after asp.net application deployment"
- In reply to: Amir Eshterayeh: "Re: simulate virtual directory for each user"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 03 Feb 2004 13:26:44 -0500
One way to achieve this functionality is to do URL rewriting.
In ASP.NET you write a class to implement the IHttpModule interface.
Attach an event handler to the HttpApplication object's BeginRequest
event. Inside the event handler you can determine who the user is, set
variables in the Context object to remember them (you can pull them
out during page processing), then do a Content.RewritePath to assign
an internal path to the resource. So the user may see
www.mycom.com/sue/default.aspx but this page doesn't actually exist.
You may internally be sending the runtime to process the request from
x:\wwwroot\userdefault.aspx.
You configure the new module into your application through an entry in
the <httpModules> section of web.config.
This technique is popular in a number of open source projects you can
look at (the Community Starter Kit at http://asp.net and .Text blog
engine). I'm sure with some searching you can find other references.
-- Scott http://www.OdeToCode.com On Tue, 3 Feb 2004 11:26:52 -0800, "Amir Eshterayeh" <aeshterayeh@hotmail.com> wrote: >Dear Mr. Scott and other friends > The point is my company sell the virtual directorys and give users >specific URL I mean www.mycom.com/sue or www.mycom.com/sandy >so that she can print the website with her name on her business card. >What are the ways I can show each user, typing the url I mention, his/her >specific content? >Thanks for your kind attention >Andy Eshtry > >"Scott M." <s-mar@BADSPAMsnet.net> wrote in message >news:%23kX3BLg6DHA.1072@TK2MSFTNGP11.phx.gbl... >> Could you be more specific as to why each user needs their own directory? >> What would "Jack" get that requires him to have a different directory than >> "Sue" or "Tom"? >> >> I ask because ASP.NET can build content on the fly. Content can be cached >> based on an url parameter (i.e. the user) so that different users get >> different output. And, there are many more options to ensure that >different >> users to a site get different results. >> >> >> "Amir Eshterayeh" <aeshterayeh@hotmail.com> wrote in message >> news:%23ypqklf6DHA.2656@TK2MSFTNGP11.phx.gbl... >> > Dear Friends >> > >> > Would you please give me your professional idea about this asp.net >> problem. >> > >> > I need different virtual directory for different customer with their >names >> > like these: >> > www.oursite.com/Jack >> > www.oursite.com/Sue >> > www.oursite.com/Tom >> > >> > I have a asp.net project. It is a website and the content of it WebPages >> > comes from database. >> > To give each user a virtual directory, I have 2 options: >> > 1. create a virtual directory for each user and copy the asp.net project >> to >> > each directory >> > This is not a good solution. >> > 2. Copy all the files to root directory (www.oursite.com) and when users >> > type >> > www.ourwebsite.com/jack or www.ourwebsite.com/sue, I can figure out the >> name >> > (jack or sue) and get the id of the user from database and bring the >> content >> > of that user's web pages from database. >> > >> > I put the following code into Application_BeginRequest event in >> Global.asax >> > file: >> > >> > dim sFolderName As String = Request.ApplicationPath.ToString.Trim("/") >> > dim AgentID as long = GetAgentIdByFolderName(sFolderName) 'from the >> > database >> > WriteAgentIdToCookie(AgentID) >> > Server.Transfer("AgentHomePage.aspx") >> > >> > After writing the agent Id to client's cookie, I redirect to agent home >> page >> > and at this page, I read cookie and get agent id and bring the agent >info >> > like its picture URL and home page info from database. >> > >> > The problem is: When I type : www.oursite.com/Jack >> > I faced this error: page can not be found! >> > >> > Do you think global.asax is a good place to put this code? and also this >> > code: Request.ApplicationPath ? HttpRequest or something? >> > Is there a better way to get what user typed I mean the folder name that >> > comes after my website. >> > >> > I got web hosting service from another company so I do not have any >> control >> > over that company's IIS. I could not found a way in its web hosting's >> admin >> > site to set the default page. Any page with default or index name will >> come >> > when I type www.oursite.com without including file name. >> > >> > Please help. Thank you very much in advance >> > >> > Best Regards >> > Andy Eshtry >> > >> > >> > >> > >> >> >
- Next message: Wolfgang Kaml: "Re: amazing finding (!!!) - MS folks, pls check this out!!! Re: annoying delay during refresh of aspx web page with ODBC Access query on IIS Windows 2003"
- Previous message: charles: "Folder security after asp.net application deployment"
- In reply to: Amir Eshterayeh: "Re: simulate virtual directory for each user"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|