当前位置: 首页 > 面试题库 >

使用ASP.NET MVC,当会话到期时重定向到登录页面

夏侯瑞
2023-03-14
问题内容

我正在使用ASP.NET
MVC。我想在会话过期时重定向到登录页面。我该如何实现?如果我正在对控制器中的方法进行AJAX调用,那么如果在这种情况下我的会话期满,我也想重定向到登录页面。


问题答案:

您可以通过3种方式做到这一点:

  1. 为您的操作创建一个过滤器,并将其应用于OnActionExecuting中的代码编写(在执行操作之前),http://www.asp.net/mvc/tutorials/understanding-action-filters-cs

  2. 创建一个基类(从Controller类继承),并使您的控制器从该类继承。在此类中,您可以覆盖一个称为OnActionExecuting的方法,如过滤器。

  3. 不要使用Session进行身份验证,可以使用Forms身份验证并使它易于使用,请看以下内容:http : //weblogs.asp.net/fredriknormen/archive/2008/02/07/asp-net-mvc-framework -using-forms-authentication.aspx

我认为解决方案3比其他解决方案更好。我希望这个对你有用!



 类似资料:
  • 我使用的是和和。一切都很好,但是当会话超时的时候,我会得到以下错误”,因为我已经在布局的main.gsp文件中调用了session变量。现在,我希望在每次会话超时后重定向到登录页面,并且不显示错误页面。要在会话超时后重定向,我已经在文件中这样做了 但是有这么多页,所以很难写每一页。还有其他的方法做这件事吗?请帮忙。

  • 我在global.asax中尝试了以下代码,但不起作用,并导致Application_Error(“响应在此上下文中不可用。”)。

  • 我现在一直在努力使用我的登录页面来让组件呈现Loggedin组件。我的前端是Reactjs,后端是NodeJS。我对nodejs、expression和react都是新手。 在loginform组件上,我使用fetch进行了一次post,它将用户名和密码传递给后端的相应endpoint。没问题。在后端,它读取我存储用户(不使用任何数据库)的jsonfile来查找匹配项,如果用户名和密码都匹配,则它

  • 问题内容: 我正在JBoss AS 5中运行一个Web应用程序。我还有一个servlet过滤器,它拦截对服务器的所有请求。现在,如果会话已过期,我想将用户重定向到登录页面。我需要在过滤器中执行“ isSessionExpired()”检查,并需要相应地重定向用户。我该怎么做?我在web.xml中设置会话时间限制,如下所示: 问题答案: 你可以使用过滤器并进行以下测试: 上面的代码未经测试。 但是,

  • 问题内容: 我的应用看起来像: 如果用户访问/ game下的页面并没有登录,我想将他们重定向到登录页面。 如何在所有路由器中做到优雅? 问题答案: 基本思想是使用自定义组件(在下面的示例中为PrivateRoute)包装需要身份验证的路由。PrivateRoute将使用某种逻辑来确定用户是否已通过身份验证,然后确定是否通过身份验证。允许请求的路由呈现或重定向到登录页面。 在react-router

  • 记录器文件中的日志- org.springframework.Security.Access.event.loggerlistener-安全授权失败,原因是:org.springframework.Security.Access.accessdeniedexception:访问被拒绝;通过身份验证的主体:org.springframework.security.authentication.ano