Ema*_*uel 1 asp.net url redirect
当我输入时http://localhost/Admin,我希望带我到页面http://localhost/Something/Login.aspx.我怎样才能做到这一点?
您正在寻找的是称为表单身份验证.下面简要介绍一下.
在验证用户的身份后,您需要创建一个这样的调用的登录页面:
FormsAuthentication.RedirectFromLoginPage(userName);
Run Code Online (Sandbox Code Playgroud)
然后你需要连接web.config文件中的登录页面:
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Something/Login.aspx" />
</authentication>
</system.web>
Run Code Online (Sandbox Code Playgroud)
此外,您需要告诉框架,以下所有URL都~/Admin/要求用户进行身份验证.这可以通过web.config在该文件夹中添加另一个文件来完成:
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
Run Code Online (Sandbox Code Playgroud)
阅读上面链接的文章,或在网上搜索"ASP.NET表单身份验证",您很快就会走上正轨.
编辑1 - 如果你想要做的只是"重定向到特定的URL",那么这就足够了:
Response.Redirect("~/Something/Login.aspx")
Run Code Online (Sandbox Code Playgroud)
从您在问题中提到的URL,您似乎正在尝试强制执行某种身份验证/授权方案.如果这是真的,表单身份验证是一个更好的答案.
编辑2 -如果你想重写,而不是重定向,从请求~/Admin到~/Something/Login.aspx你可以在你的根映射URL映射这么做web.config文件
<system.web>
<urlMappings>
<add url="~/Admin/Default.aspx" mappedUrl="~/Something/Login.aspx"/>
</urlMappings>
</system.web>
Run Code Online (Sandbox Code Playgroud)
在大多数设置中,如果请求的URL以已知后缀结束,Web服务器将仅将请求传递给ASP.NET,例如.aspx.在欺骗Web服务器将请求传递~/Admin给ASP.NET的方法是使用Web服务器中的"默认文档"功能.对于这个工作,你必须添加一个名为的空文件Default.aspx中~/Admin的文件夹.
| 归档时间: |
|
| 查看次数: |
7623 次 |
| 最近记录: |