我必须在我的一个项目中实现自动注销功能,我只是想知道从哪里开始寻找想法但是SO.
我需要的是,如果用户会话已过期,应用程序将用户重定向到登录页面.请告诉我应该采取什么方法来解决这个问题.
问题陈述: 如果用户在任何给定的登录实例中离开系统超过n分钟,系统应自动将其注销.
我有一个对MVC的ajax调用,它返回一个partialview.在会话结束或cookie过期之前,这一切都很好.当我进行ajax调用时,它会显示div中的内容,该div用于部分视图.如何在ajax调用期间检测到我的会话已过期并正确地重定向到完整屏幕/页面
我们将SAML2 IDP配置为会话不活动超时为30分钟.单点登录后,用户成功登录到SP.现在SP也配置为SAML单点注销(SLO).即使用户在SP应用程序中工作,也会出现会话超时.我想知道是否由于会话不活动设置@ IDP而发生这种情况.我想了解IDP如何知道用户会话是活动的@SP,以便它不会发出SLO.有任何想法吗 ?
我正在使用Spring MVC/Security 3.X.问题是,每当会话超时时,我在登录页面上获得403 ,其中Spring框架正在抛出"InvalidCsrfTokenException":
threw exception [org.springframework.security.web.csrf.InvalidCsrfTokenException: Invalid CSRF Token '7b4aefe9-6685-4c70-adf1-0d633680523a' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.] with root cause
org.springframework.security.web.csrf.InvalidCsrfTokenException: Invalid CSRF Token '7b4aefe9-6685-4c70-adf1-0d633680523a' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:119)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at …Run Code Online (Sandbox Code Playgroud) java csrf spring-security session-timeout http-status-code-403
我正在尝试在asp.netcore 2.0 MVC应用程序中使用带有cookie身份验证的身份.我想将会话超时设置为150天,因此登录的用户不需要在很长一段时间内再次登录.我设置options.ExpireTimeSpan = TimeSpan.FromDays(150);但会话在几分钟后关闭,即使用户正在积极使用该应用程序.
我正在关注官方文档,我在Startup.cs上有这个:
在ConfigureServices方法:
services.AddIdentity<User, Role>()
.AddDefaultTokenProviders();
// Identity Services
services.AddTransient<IUserStore<User>, UserService>();
services.AddTransient<IRoleStore<Role>, RoleService>();
services.Configure<IdentityOptions>(options =>
{
// Password settings
options.Password.RequireDigit = false;
options.Password.RequiredLength = 8;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
options.Password.RequireLowercase = false;
options.Password.RequiredUniqueChars = 3;
// Lockout settings
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(30);
options.Lockout.MaxFailedAccessAttempts = 10;
options.Lockout.AllowedForNewUsers = true;
// User settings
options.User.RequireUniqueEmail = true;
});
services.ConfigureApplicationCookie(options =>
{
// Cookie settings
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromDays(150);
options.LoginPath = "/User/Login";
options.LogoutPath …Run Code Online (Sandbox Code Playgroud) session-timeout asp.net-identity asp.net-core-2.0 cookie-authentication
案例1:注销:一旦我们注销,如果有人试图访问之前,它必须自动重定向到login.jsp
案例2:会话已过期:如果会话在用户仍处于登录状态时到期,则必须在访问上一页时尝试自动重定向到sessionExpired.jsp.
如何区分?我现在正在注销会话时使会话无效.
有没有办法在没有(用户交互)*的情况下检测会话超时,并将其重定向到某个页面; 即如果页面@特定持续时间没有活动; 服务器检测到它并在其他一些上自动重定向.
通过用户用户交互我的意思是; 有一种方法可以在用户点击某些内容时检测会话超时,然后一些请求转到服务器,然后服务器检查当前用户会话是否过期.
我需要的是我们不通知任何服务器(或者我们不执行任何操作),但是当会话到期时,服务器会自动检测到它并执行所需的操作.
谢谢,拉扎
我很困惑.我们的每位员工都必须登录我们的服务器,开始他们的ASP会话.我所做的所有研究表明,我们应该能够改变这个会话的持续时间,session.timeout x其中x是我们希望会话持续的分钟数,默认为20分钟.我已经改变了这个超时而没有任何一致的结果.
我终于设置了一个函数来检查我是否每10秒登录一次,看看是否可以确定一致的会话长度.到目前为止,在8次试验中,时间从7小时到40小时不等.我已经在chrome和firefox浏览器中完成了这个操作,以查看不同的会话时间,并且它们一直在同一时间超时.然而,同事们并没有在这些确切的时间里超时.
我读了一些关于global.asa的内容.我们要么没有使用这个,要么我们都不了解它,知道它在哪里.
我也读过并尝试更改IIS中应用程序池的超时会话.我正在从Windows 7开始,大部分教程都是针对旧版本的Windows,但我相信我找到了正确的位置,但我仍然无法发现我所做的更改有所不同.
tl; dr - 有没有办法找到经典ASP会话剩余多少时间?
我们的想法是为ASP.NET MVC 5和ASP.NET Identity中的不同用户角色设置不同的会话超时值.
有可能吗?
asp.net-mvc roles session-timeout asp.net-mvc-5 asp.net-identity
我正在使用 ASP.NET Core 的 ASP.NET Zero 版本 7、MVC 和 jQuery 项目。
我正在尝试设置会话超时/到期时间,以便在应用程序空闲一段时间后自动从应用程序注销。有人可以告诉我该怎么做吗?
在 ASP.NET Zero 版本 8 中,他们在用户管理设置中提供此配置。
session-timeout session-cookies asp.net-core-mvc asp.net-core aspnetboilerplate
session-timeout ×10
java ×3
asp.net-mvc ×2
jsp ×2
session ×2
ajax ×1
asp-classic ×1
asp.net ×1
asp.net-core ×1
csrf ×1
iis ×1
iis-7.5 ×1
jquery ×1
logout ×1
roles ×1
saml-2.0 ×1