[英]How to create re-direct to login page in ASP.NET?
使用ASP.NET,如果用户尝试访问旨在用于登录用户的页面,将用户重定向到我的登录页面的最佳方法是什么?
注意:不确定这是否重要,但是我正在使用ASP.NET WebForms,但实际上没有使用任何WebForms。 前端是纯jQuery / HTML / CSS,可使用jQuery $ .getJSON()或$ .post()与后端* .ashx文件进行通信
我是否需要向表单的Page_Load()事件添加代码? 还是我可以使用中央“重定向器”这类文件?
谢谢!
绝对不要在Page_Load中这样做,这违反了DRY原理 。 您可以使用<location>
在你的web.config元素,要求授权在您的网站某些网页或目录,如所描述这里 。
例:
<location path="admin">
<system.web>
<authorization>
<allow users="John"/> // allow John ..note: you can have multiple users seperated by comma e.g. John,Mary,etc or you can allow roles
<deny users="*"/> // deny others
</authorization>
</system.web>
</location
您可以在global.asax中轻松实现此功能。 我们在应用程序中使用它来检查用户是否已登录以及是否未重定向到登录页面。 全球事件。 Asax都是应用程序级别的事件,因此您可以获得诸如请求开始/结束之类的信息,并且可以轻松地插入到管道中。
您应该在global.asax(HttpApplication类文件)中进行处理-具体如下:
C#
void Application_OnAuthenticateRequest(Object Source, EventArgs Details) {
// Authentication code goes here.
//if fail, Response.Redirect('NotAuthenticated.htm');
//or like so.
}
VB
Sub Application_OnAuthenticateRequest(Source As Object, Details as EventArgs)
'Authentication code goes here.
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.