asp.net url路由
我想做的是基本上能够输入网址asp.net url路由,asp.net,vb.net,Asp.net,Vb.net,我想做的是基本上能够输入网址mysite/username,然后根据那里的用户名将它们重定向到那里的页面(mysite/Profle/Default.aspx?username=username)。我认为这可能需要的不仅仅是URL重写 由于mysite/username和mysite/directory之间没有真正的区别(可通过urlrewrite regex区分),因此您可能需要执行类似的操作 在global.asax中,重写BeginRequest函数。检查请求路径是否与已知用户名匹配。如果
mysite/username
,然后根据那里的用户名将它们重定向到那里的页面(mysite/Profle/Default.aspx?username=username
)。我认为这可能需要的不仅仅是URL重写
由于mysite/username
和mysite/directory
之间没有真正的区别(可通过urlrewrite regex区分),因此您可能需要执行类似的操作
在global.asax中,重写BeginRequest函数。检查请求路径是否与已知用户名匹配。如果有,重定向。如果没有,让请求自然继续。请注意,如果您的用户名与站点中的目录匹配,这可能会给您带来麻烦。此外,它确实为恶意用户提供了一种方法(尽管很耗时),通过了解哪些名称重定向到登录页面来查找您站点的用户名
protected void Application_BeginRequest(object sender, EventArgs e)
{
var url = HttpContext.Current.Request.RawUrl;
IEnumerable<string> userNames = GetKnownUserNames(); //Get known user names from your repository
if (userNames.Contains(url))
{
Response.Redirect(String.Format("mysite/Profle/Default.aspx?username={0}", url));
}
}
受保护的无效应用程序\u BeginRequest(对象发送方,事件参数e)
{
var url=HttpContext.Current.Request.RawUrl;
IEnumerable userNames=GetKnownUserNames();//从存储库中获取已知用户名
if(userNames.Contains(url))
{
重定向(String.Format(“mysite/Profle/Default.aspx?username={0}”,url));
}
}
您可能需要进行一些调整,以使比较工作正常,但这样做就可以了。您是要求直接在浏览器url中键入用户名,还是在页面的UI(文本框)中键入用户名?进入浏览器url,因此,如果用户键入mysite/luke,我将进入页面mysite/profile/Default.aspx?username=lukeMaybe,您需要重新编写url来帮助您。请参阅此以获取一些帮助。。。