标签: logout

Delphi:当退出应用程序时表单无法释放时该怎么办

我正在使用Delphi(7-2010)并试图找到一种处理异常的好方法,同时释放应用程序的形式.应用程序有几种由Application对象拥有的表单.当用户注销时,我需要释放所有现有表单,以便不维护用户状态,然后显示登录的下一个用户的登录对话框.

有时,尝试释放其中一个表单时会发生异常.这会将表单保留在内存中,但是处于未知/不可用状态,因此我不能将表单重新用于下一个用户,而且我也无法从内存中删除它.因为表单是由应用程序拥有的,所以我无法直接为下一个用户创建表单的新版本,因为它会导致VCL中的"A组件名为MyForm已经存在"错误,我有点厌恶无论如何要在内存中使用旧的表单实例.

我想看看其他人在这种情况下会做些什么.以下是一些想法:

  • 当您收到这些例外情况时终止应用程序,因此您一定要清除平板.用户无论如何都要注销,因此可能已经完成了应用程序.如果需要,可以选择重启应用.
  • 使表单不属于Application,因此您可以创建它们的多个实例,并确保至少隐藏任何不可释放/损坏的表单.
  • 动态生成每个表单的名称,或将其设置为空白,因此永远不会有重复的名称,并且VCL中没有"已存在"错误.
  • 编写一个应用程序,以便在释放对象时永远不会有异常(不切实际 - 我需要针对意外错误的应急计划).


我的解决方案是上面的原始想法之一.我在循环周围添加了一个try/except块来释放表单,如果有异常,我会向用户显示错误消息而不提高它,然后调用ExitProcess(0)立即终止应用程序.

forms delphi free exception logout

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

JSP session.invalidate() 与 request.logout()

我的 jsp 页面上有一个注销按钮。(Tomcat 8.0.15)

session.invalidate()
Run Code Online (Sandbox Code Playgroud)

或者

request.logout()
Run Code Online (Sandbox Code Playgroud)

哪个更适合退出/终止会话,主要区别是什么?我应该同时使用两者吗?

session jsp tomcat logout invalidation

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

如何在登录系统中使用会话并在codeigniter中实现注销

codeigniter 中的新功能正在学习它并坚持参加 codeigniter 的会话。我正在使用登录系统,登录部分运行良好,但现在我必须添加会话和注销并将我的其他页面包含在该会话中,以便我可以限制某人直接访问该页面。那么我如何在我的代码中实现会话和注销。

这是控制器

<?php
class LoginController extends CI_controller
        {
            public function index()
        {
            $this->load->view('header2');
            $this->load->view('login');
            $this->load->view('footer');
        }
            public function checklogin()
        {
            $this->form_validation->set_rules('username' ,'Username', 'required|valid_email');
            $this->form_validation->set_rules('password' ,'Password', 'required|callback_verifyUser');

                if($this->form_validation->run() == false){
                    $this->load->view('header2');
                    $this->load->view('login');
                    $this->load->view('footer');
                    }
                    else
                    {
                        redirect('HomeController/index');
                    }
                }
                    public function verifyUser()
                    {
                        $name = $this->input->post('username');
                        $pass = $this->input->post('password');

                        $this->load->model('LoginModel');

                        if($this->LoginModel->login($name, $pass))
                        {
                            return true;
                        }
                        else
                        {
                            $this->form_validation->set_message('verifyUser','Incorrect Email or Pass');
                            return false;
                        }
                        redirect('LoginController/checklogin');
                    }
            }
Run Code Online (Sandbox Code Playgroud)

模型是这样的

<?php
        class LoginModel extends CI_model
        {
            public function login($name, …
Run Code Online (Sandbox Code Playgroud)

php session login codeigniter logout

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

如何进行正确的注销?

我按post方法注销并将响应重定向到主页,但要获取主页的 html,我需要使用get方法。

我应该如何正确地从postto重定向get?或者有没有更合适的注销方法?

我为此使用了 Slim v3 框架,它不允许从一种方法重定向到另一种方法。

$app->get('/', function (Request $request, Response $response) {
    return $this->renderer->render($response, 'index.phtml');
});

$app->post('/logout', function (Request $request, Response $response) {
    return $this->model->logout($response)->withRedirect("/", 308);
});
Run Code Online (Sandbox Code Playgroud)

据我所知,通过POST方法注销并通过获取 html 页面GET是最佳做法。

php logout slim

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

如何在 React JavaScript 中处理不活动用户并将其注销?

我正在一个包含重要数据的私人网站上工作,我想注销任何 10 分钟内没有执行任何操作的用户(例如忘记在后台打开的选项卡)。我该怎么做,只是用计时器运行一个事件侦听器来监听鼠标点击就可以了,还是有其他更好的解决方案?

javascript security logout reactjs

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

设计身份验证:注销并重定向

有没有办法编写Rails方法,它会注销并重定向到自定义页面?我正在使用Devise身份验证gem.

我不希望所有注销都将遵循此重定向,但仅限于调用此方法的位置.

redirect ruby-on-rails logout devise

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

cakephp - auth注销重定向

在cakephp2.0中,我有domain.com但是当我退出(url是domain.com/logout)时,它被重定向到domain.com/app/login.我不希望它重定向到domain.com/app/login,而是重定向到domain.com/logout.这些是我在UsersController和AppController中的代码

class AppController extends Controller {
public $helpers = array ('Html', 'Form', 'Js' => array('Jquery'), 'Session');

public $components = array(
    'Session',
    'Auth' => array(
        'loginRedirect' => array('controller' => 'posts', 'action' => 'index'),
        'logoutRedirect' => array('controller' => 'users', 'action' => 'login'),
         'authorize' => array('Controller') // Added this line
    )
);
}
Run Code Online (Sandbox Code Playgroud)

Userscontroller

class UsersController extends AppController {
public $components = array(

    'Auth' => array(
        'loginRedirect' => array('controller' => 'posts', 'action' => …
Run Code Online (Sandbox Code Playgroud)

authentication redirect login logout cakephp-2.0

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

每个节目都有"注销"字样

当我编写每个C++程序时,例如:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    int n;
    cout << "Tell me where to start: ";
    cin >> n;
    while (n>0) {
        cout << n << "\n";
        n = n-1;
    }
    cout << "FIRE!";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我用G ++编译它,当我运行它时,它运行良好,但是当它完成时它会在程序的最后一个单词之后显示"logout"字样,如下所示:

Tell me where to start: 10
10
9
8
7
6
5
4
3
2
1
FIRE!logout

[Process completed]
Run Code Online (Sandbox Code Playgroud)

为什么?我该如何删除它?

c++ compiler-construction logout

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

注销不适用于 Spring Boot 和 Spring Security

这是我使用 Spring Boot 和 Spring Security 的代码。问题是当我曾经注销(使用Thyemleaf)时,注销对我不起作用。

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{

    @Autowired
    private DataSource dataSource;
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {

        auth
            .jdbcAuthentication()
                .dataSource(dataSource)
                .usersByUsernameQuery("select username as principal, password as credentials,active from users where username=?")
                .authoritiesByUsernameQuery("select username as principal,roles as role from users_roles where username=?")
                .rolePrefix("ROLE_")
                .passwordEncoder(new Md5PasswordEncoder());
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .formLogin()
                .loginPage("/login");
        http
            .authorizeRequests()
                .antMatchers("/index1").permitAll();
        http
            .authorizeRequests()
                .antMatchers("/user").hasRole("USER")
                .and()
            .logout();

        http
            .authorizeRequests()
                .antMatchers("/adpage").hasRole("ADMIN");
        http
            .exceptionHandling().accessDeniedPage("/403"); …
Run Code Online (Sandbox Code Playgroud)

spring spring-security logout thymeleaf

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

[Symfony 5]注销后的确认信息

在 Symfony 5 上,使用内置的登录系统,在注销后添加确认消息似乎是不可能的。我严格按照官方网站上描述的步骤操作。不幸的是,SecurityController 中的 logout 方法是无用的。我被直接重定向到登录页面。

在这里,您将拥有我的 security.yaml 文件:

security:
encoders:
    App\Entity\User:
        algorithm: auto


# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
    # used to reload user from session & other features (e.g. switch_user)
    app_user_provider:
        entity:
            class: App\Entity\User
            property: email
    # used to reload user from session & other features (e.g. switch_user)
firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        anonymous: lazy
        provider: app_user_provider
        guard:
            authenticators:
                - App\Security\LoginFormAuthenticator
        logout:
            path: logout
            target: login

        remember_me:
            secret:   '%kernel.secret%'
            lifetime: 604800 # 1 week in seconds …
Run Code Online (Sandbox Code Playgroud)

security logout symfony

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

如何在登录一段时间后自动注销用户。

我正在一个网站上在本地服务器上举办比赛。实际上比赛的时间限制是 60 分钟。我想在登录 60 分钟后自动注销每个用户。

我是 django 的初学者,这是我在 django 中的第一个项目。

提前致谢。

python django session logout

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

如何在关闭浏览器选项卡时从我的站点使用PHP或javascript注销用户?

我注意到即使用户关闭浏览器标签,我的用户也会保持登录状态.

如果关闭浏览器选项卡,如何自动将其注销?

javascript php logout

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