标签: expired-sessions

Asp.net MVC - 如何检查Ajax请求的会话是否过期

我们正在整个应用程序中使用Ajax调用 - 尝试在尝试执行任何Ajax请求时,如果会话已经过期,则尝试找到重定向到登录页面的全局解决方案.我编写了以下解决方案,从这篇文章中获取帮助 - 在ajax调用中处理会话超时

不确定为什么在我关心的事件中"HandleUnauthorizedRequest"没有被解雇.

自定义属性:

 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
    public class CheckSessionExpireAttribute :AuthorizeAttribute
    {
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            if (filterContext.HttpContext.Request.IsAjaxRequest())
            {
                var url = new UrlHelper(filterContext.RequestContext);
                var loginUrl = url.Content("/Default.aspx");

                filterContext.HttpContext.Session.RemoveAll();
                filterContext.HttpContext.Response.StatusCode = 403;
                filterContext.HttpContext.Response.Redirect(loginUrl, false);
                filterContext.Result = new EmptyResult();
            }
            else
            {
                base.HandleUnauthorizedRequest(filterContext);
            }

        }

    }
Run Code Online (Sandbox Code Playgroud)

在控制器操作中使用Above自定义属性如下:

 [NoCache]
 [CheckSessionExpire]
 public ActionResult GetSomething()
 {
  }
Run Code Online (Sandbox Code Playgroud)

AJAX Call(JS部分):

function GetSomething()
{
   $.ajax({
        cache: false,
        type: "GET",
        async: true,
        url: "/Customer/GetSomething",
        success: function (data) {

        },
        error: function (xhr, …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc custom-attributes expired-sessions ajax-request

7
推荐指数
1
解决办法
3222
查看次数

Rails - 捕获'无效真实性令牌'异常

我目前正在使用rails应用程序上的RESTful Authentication插件.

有一种典型情况是用户在登录屏幕上停留足够的时间(假设为1天......),这会使认证令牌因时间过期而无效.

当该用户尝试第二天登录时(他没有刷新,他仍然使用此无效令牌),他将收到"500"http错误.使该应用程序的应用程序崩溃.

我想知道是否有可能抓住这个预期并警告用户.像任何其他无辜的网络用户一样,他只是回来再次尝试..并再次得到同样的错误......

ruby-on-rails exception expired-sessions authenticity-token

6
推荐指数
1
解决办法
3563
查看次数

Spring Security无效会话重定向

我在Spring Boot 1.2.3 Web应用程序(以及spring-session 1.0.1,中使用spring security 4.0.1)中,但这与情况无关。

我确实有一个私有区域,以及每个用户都可以访问的所有访问区域(“ / about”,“ /”,“ / contact”,...超过20页)。(就像一个网上商店)

每当登录的用户会话到期时,Spring都会检测到无效的会话并将用户重定向到'.invalidSessionUrl(“ / session / error / invalid”)'

但是,我只想重定向到目标链接位于私有区域内还是公共区域内的情况。

我如何避免这种情况?

谢谢。

这是我的(java)配置:(在看到帖子后更新

 http
            .authorizeRequests()
            .anyRequest()
                .permitAll()
            .antMatchers("/privado/**")
                .authenticated()
            .and()
                .formLogin()
                .loginPage("/login")
                .failureUrl("/login?error")
                .defaultSuccessUrl("/")
                .successHandler(new SessionSuccessHandler())
            .and()
                .logout()
                .logoutSuccessUrl("/")
                .deleteCookies("JSESSIONID", "SESSION")
            .and()
                .sessionManagement()
                .invalidSessionUrl("/session/error/invalid")
            .sessionFixation()
            .changeSessionId()
            .maximumSessions(1)
            .expiredUrl("/session/error/expired")
            .and()
            .and()
                .csrf()
                .ignoringAntMatchers("/jolokia/**", "/v1.0/**");
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

非常感谢。

spring-mvc spring-security expired-sessions spring-boot

5
推荐指数
1
解决办法
1万
查看次数

不是您的问题,而是我们的问题。我们现在无法完成您的请求。请稍后重试 - awsapps 登录

awsapps 登录页面显示 - 不是您,是我们 我们现在无法完成您的请求。请稍后重试或

访问密钥和密钥无法连接 aws 账户,并显示错误消息:“调用DescribeCluster 操作时发生错误 (InvalidSignatureException):签名已过期:20220801T134645Z 现在早于 20220801T143813Z(20220801T144313Z - 5 分钟)”

authentication request signature expired-sessions amazon-web-services

4
推荐指数
1
解决办法
7308
查看次数

Laravel 419 页面在生产服务器上已过期。[ 框架:Laravel | 版本:7.5.2]

你好 !

问题 :


如果我推送注册用户的表单,我会收到 419 页面已过期

我在这里搜索我的问题:

-1。Stackoverflow 由于不活动而过期:我的问题没有成功

-2。Laracast 会话已过期:我的问题没有成功

-3。在产品服务器上提交表单时出现 Laracast 419 错误:我的问题没有成功

我认为是 csrf 令牌错误或缺少配置文件

我的配置文件:

我的.env

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:7/Xz39xIIlpTf0mfMGD3l69NqHMbykHLFKglaAps4Rk=
APP_DEBUG=true
APP_URL=http://localhost <- here i have try with my address and my ip. 
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE= <- some parameter here
DB_USERNAME= <- some parameter here
DB_PASSWORD= <- some parameter here
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Run Code Online (Sandbox Code Playgroud)

我的config/session.php

<?php

use Illuminate\Support\Str;

return [

/*
|--------------------------------------------------------------------------
| Default Session Driver
|-------------------------------------------------------------------------- …
Run Code Online (Sandbox Code Playgroud)

php csrf expired-sessions laravel

3
推荐指数
1
解决办法
9443
查看次数

KeyCloak React refreshToken 过期令牌

我想在客户端应用程序中实现授权,但在使用 Keycloak 的 React 应用程序中更新令牌时遇到问题。

应用程序.js

import keycloak from "../../keycloak";

const App = () => {

    const handleOnEvent = async (event,error) => {
        if(event === 'onTokenExpired'){
            
            keycloak.updateToken(300).then(
                (response) => {
                   //I want to update my existing Token
                 alert("response: ", response )
                })
                .catch(error => {
                    console.log("error: ", error)
                })
        }
    }


    return (
        <>
            <ReactKeycloakProvider
                authClient={keycloak}
                onEvent={(event,error) => handleOnEvent(event,error)}>
                <AppRouter/>
            </ReactKeycloakProvider>
        </>)
}
export default App;
Run Code Online (Sandbox Code Playgroud)

标头

const Header = () => {
    const {keycloak,initialized} = useKeycloak()

    useEffect(() => { …
Run Code Online (Sandbox Code Playgroud)

token expired-sessions reactjs keycloak react-hooks

3
推荐指数
1
解决办法
1万
查看次数

Laravel v8.x - Jetstream Inertia,419 页面在生产时已过期

在此输入图像描述

生产时出现页面已过期 419。我尝试运行php artisan clear:cachephp artisan config:cachephp artisan key:generate,并使用相同的域更改SESSION_DOMAIN,但页面仍然错误

如果我停用 CSRF 中间件,它不会出现错误,但我无法转到下一页。

我可以在本地运行它,但是当我在本地使用生产数据库时,会出现相同的错误页面。

php expired-sessions inertiajs laravel laravel-jetstream

3
推荐指数
2
解决办法
6030
查看次数

如何在ASP.NET核心标识中设置登录过期

参考:
使用ASP.NET Core MVC和Visual Studio构建您的第一个Web API

场景:
(a)使用上述链接构建.NET Core 1.0 Web API解决方案.
(b)该解决方案在调试模式下运行.
(c)用户注册
(d)该用户登录后
(e)许多小时后该用户仍然登录

仍然在同一个Debug会话中,执行此代码:

@using Microsoft.AspNetCore.Identity

@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager

@if (SignInManager.IsSignedIn(User))
{
    <form asp-area="" asp-controller="Account" asp-action="LogOff" method="post" id="logoutForm" class="navbar-right">
        <ul class="nav navbar-nav navbar-right">
            <li>
                <a asp-area="" asp-controller="Manage" asp-action="Index" title="Manage">Hello @UserManager.GetUserName(User)!</a>
            </li>
            <li>
                <button type="submit" class="btn btn-link navbar-btn navbar-link">Log off</button>
            </li>
        </ul>
    </form>
}
Run Code Online (Sandbox Code Playgroud)

我未满足的期望是上述用户的登录会超时; 然而,Hello *example user*!Log off被渲染到导航栏 ; 单击Log off会注销示例用户.

那么如何设置ASP.NET核心标识中的到期时间,以便
(a)登录用户可以在固定时间段(如8小时 …

security login expired-sessions asp.net-identity asp.net-core

2
推荐指数
1
解决办法
2219
查看次数

PHP会话过早到期

我有一个问题,我的应用程序会话在大约15分钟后意外到期.我需要它们在4小时后过期.

服务器是Centos 5.5,PHP是5.3.2.

下面是我的代码(包含在全局标题中).

<?php
session_name('MobileSuiteHQ');
if(!session_id()) {
    session_start();
}
ini_set('memory_limit', '512M');
ini_set('session.gc_maxlifetime', 14400000);
ini_set('session.cookie_lifetime', 14400000);
ini_set('session.gc_divisor', 1000);
ini_set('session.use_cookies', 0);
ini_set('max_execution_time', 300);
ini_set('session.name','MobileSuiteHQ');
?>
Run Code Online (Sandbox Code Playgroud)

我的.htaccess文件包含:

php_value session.gc_maxlifetime 14400000
php_value session.cookie_lifetime 14400000
php_value session.use_cookies 0
php_value session.gc_divisor 1000
Run Code Online (Sandbox Code Playgroud)

任何帮助或见解都会很棒.

编辑:当我更新我的.htaccess文件时,我无法登录,会话未启动.所以我现在删除了:

php_value session.use_cookies 0
Run Code Online (Sandbox Code Playgroud)

现在允许我登录.

php expired-sessions

1
推荐指数
1
解决办法
8231
查看次数