如何在ASP.NET中创建重定向到登录页
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原则。您可以在web.config中使用<location>
元素来要求对站点中的某些页面或目录进行授权,如下所述。
示例:
<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
相关文章:
- 我尝试在登录脚本中使用ajax,但页面不会重定向
- 访问NeedLogin操作后不重定向到登录页面
- 登录后重定向,缓存页面问题-Javascript
- Framework7:登录重定向
- 在页面加载之前检查登录和重定向
- 如何在ASP.NET中创建重定向到登录页
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- 登录尝试和重定向
- Laravel:在 ajax 请求的会话过期后重定向到登录
- 用户使用铁路由器登录后如何重定向
- 从登录页重定向到主页
- 登录后PHP登录脚本重定向不起作用
- 如何基于电子邮件地址域重定向到电子邮件登录页面
- Facebook登录重定向问题
- 如果用户尚未登录Angular JS,请重定向至登录页面
- 重定向“如果确认了电子邮件,则将用户重定向到登录页”
- 防止Angular网站上未经授权的用户在重定向到登录之前看到网站的最佳方式
- 如果未处于登录状态,如何重定向到登录页面,登录后重定向到原始页面
- AngularFire,登录身份验证和重定向并不完全有效
- 从angularjs重定向登录页面到欢迎页面