精华内容
下载资源
问答
  • shiro 实现退出登录功能

    万次阅读 2019-03-19 17:20:30
    shiro 实现退出登录功能 第一种方式: 1、配置权限控制,/logout.action=logout 2、在页面相应的退出操作中配置链接:/logout.action 即可,并不需要实现controller层 第二种方式(自定义退出登录功能) 1.shiro有许多...

    shiro 实现退出登录功能

    第一种方式:

    1、配置权限控制,/logout.action=logout
    2、在页面相应的退出操作中配置链接:/logout.action 即可,并不需要实现controller层

    第二种方式(自定义退出登录功能)

    1.shiro有许多过滤器,其中就有一个LogoutFilter的过滤器,只需要继承并重写preHandle方法
    2.在配置文件中注入自定义实现的过滤器,在此配置当退出的时候应重定向到某个页面
    3.注入自定义filter,并且配置过滤器链
    4.直接在页面中配置相应退出链接

    1.自定义实现LogoutFilter

    public class SystemLogoutFilter extends LogoutFilter {
        @Override
        protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
            //在这里执行退出系统前需要清空的数据
            Subject subject=getSubject(request,response);
            String redirectUrl=getRedirectUrl(request,response,subject);
            ServletContext context= request.getServletContext();
            try {
                subject.logout();
                context.removeAttribute("error");
            }catch (SessionException e){
                e.printStackTrace();
            }
            issueRedirect(request,response,redirectUrl);
            return false;
        }
    }
    

    2.配置要重定向的路径

     <!--自定义LogoutFilter,退出-->
        <bean id="logoutFilter" class="filter.SystemLogoutFilter">
            <property name="redirectUrl" value="/admin/login"/>
        </bean>
    

    3.注入自定义filter,并且配置过滤器链

    <!--自定义的filter-->
            <property name="filters">
                <map>
                    <!-- 将自定义 的FormAuthenticationFilter注入shiroFilter中 -->
                    <entry key="authc" value-ref="formAuthenticationFilter"/>
                    <entry key="logout" value-ref="logoutFilter"/>
                </map>
            </property>
            <!-- 过虑器链定义,从上向下顺序执行,一般将/**放在最下边 -->
            <property name="filterChainDefinitions">
                <value>
                    <!--对静态资源设置匿名访问-->
                    /resources/images/**=anon
                    /resources/style/**=anon
                    /resources/bootstrap/**=anon
                    /resources/fonts/**=anon
                    /resources/jquery/**=anon
                    /resources/layui/**=anon
                    /resources/js/**=anon
                    /favicon.ico=anon
                    /front/**=anon
                    <!--/kaptcha**=anon-->
                    /admin/**=authc
                    <!-- 请求logout.action地址,shiro去清除session -->
                    /logout=logout  //这才是对退出的配置
                    <!-- /**=authc 表示所有的url都必须认证通过才可以访问-->
                    /**=anon
                </value>
            </property>
    

    4、在页面相应的退出操作中配置链接:/logout.action 即可,并不需要实现controller
    转:https://blog.csdn.net/chengxuzaza/article/details/72851707

    展开全文
  • 主要为大家介绍了WordPress实现退出登录后跳转到指定页面的方法,可实现针对指定页面、首页及当前页面的跳转功能,是建站时非常实用的技巧,需要的朋友可以参考下
  • PHP实现退出登录功能

    千次阅读 2020-02-09 10:25:16
    在PHP程序中,登录完成之后将存入session中,退出登录时,需要释放session,相应的代码如下所示。 <?php session_start(); if(isset($_SESSION["uid"])) // 检测变量是否设置 { session_unset(); // 释放当前在...

    在PHP程序中,登录完成之后将存入session中,退出登录时,需要释放session,相应的代码如下所示。

    <?php
    session_start();
    if(isset($_SESSION["uid"]))  // 检测变量是否设置
    {
        session_unset();  // 释放当前在内存中已经创建的所有$_SESSION变量,但是不删除session文件以及不释放对应的session id;
        session_destroy();  // 删除当前用户对应的session文件以及释放session id,内存中$_SESSION变量内容依然保留;
    }
    header("location:login.php"); // 重定向到登录界面
    ?>
    

    需要注意的是:

    1. session_unset(); 释放当前在内存中已经创建的所有$_SESSION变量,但是不删除session文件以及不释放对应的session id;
    2. session_destroy(); 删除当前用户对应的session文件以及释放session id,内存中$_SESSION变量内容依然保留;

    相关文章:《PHP语言实现网站登录功能》


    作者:戴翔
    电子邮箱:daixiangcn@outlook.com
    微信开发者主页:Null
    简介:中国公民,CSDN博客专家,秦淮区疾控中心托管社会公益组织指南针工作室志愿者,创业公司研发中心负责人,在校大学生。第二届大学生微信小程序应用开发大赛全国三等奖项目第一作者,微信小程序《约车吗》、《庆云慈善会》、《锋云速检》项目总工程师。


    展开全文
  • 1. 使用场景:退出登录。/// 路由作用:移除 [ModalRoute.withName("/loginPage")] 除外的所有界面,并跳转到 ["/loginPage"] 界面。** [ModalRoute.withName("/loginPage")] 可用任意未打开的界面代替,从而达到...
    1. 使用场景:退出登录。
    /// 路由作用:移除 [ModalRoute.withName("/loginPage")] 除外的所有界面,并跳转到 ["/loginPage"] 界面。
    ** [ModalRoute.withName("/loginPage")] 可用任意未打开的界面代替,从而达到关闭所有界面效果。 **
    Navigator.of(context).pushNamedAndRemoveUntil(
    "/loginPage", ModalRoute.withName("/loginPage"));

    2. 任意界面返回应用首页。
    /// 路由作用:移除 [/homePage] 除外其它所有界面。
    Navigator.of(context).popUntil(ModalRoute.withName("/homePage"));


    前提配置的路由路径:
    MaterialApp(
      ...,
    routes: {
    '/loginPage': (ctx) => LoginPage(),
    '/homePage': (ctx) => MainPage(),
    },
    home: ...,
    );
     

    转载于:https://www.cnblogs.com/wf-l5201314/p/10796495.html

    展开全文
  • 关于Android实现 退出登录那些小事?

    千次阅读 2017-04-29 01:03:37
    当用户点击退出之后需要将所有的Activity都finish掉,开始是想将栈中的所有Activity清除掉,但是没有找到方法,那么到底该怎么实现呢? 核心思想分析: 当点用户击登陆的时候发送一个广播BroadcastReceiver时候,...

    使用场景:

    相信大家应该清楚每一个app都会有一个”退出登陆”的功能,有的可能在个人中心有的在设置里面。当用户点击退出之后需要将所有的Activity都finish掉,开始是想将栈中的所有Activity清除掉,但是没有找到方法,那么到底该怎么实现呢?

    核心思想分析:

    当点用户击登陆的时候发送一个广播BroadcastReceiver时候,然后在你的BaseActivity里面手动注册一个广播,当收到广播后finish,这样所有继承这个Base的Activity就都finish掉了轻松搞定!,
    主要代码

    点击退出登录:发送广播

     Intent intent = new Intent(); intent.setAction("is_exit_app"); sendBroadcast(intent);

    接收广播:finish界面(在BaseActivity里面接收)

    MyReceiver receiver; 
    private void registerBroadcast() {
     // 注册广播接收者 receiver = new MyReceiver();
      IntentFilter filter = new IntentFilter();      filter.addAction("is_exit_app"); context.registerReceiver(receiver,filter);
    class MyReceiver extends BroadcastReceiver { 
    @Override public void onReceive(Context context, Intent intent) { 
    if(intent.getAction().equals(ConstantUtils.EXIT_APP)){ LogUtils.e("zm","正在退出登陆清请稍后开车中滴滴滴滴....."); finish(); } } }
    
    
    > 
    

    第二种
    大家都知道 Android 的 Activity 是存着历史栈的,比如从 A -> B -> C,C 完成 finish 后回到 B,把所有的Activity 都 finish了,程序就自然退出了。 当然在 finish 的同时也需要是否自己程序的其他资源。所以需要想个办法把 Activity 给存起来。然后在程序退出的地方调用它们的 finish()方法。
    使用全局变量。对了,第一个想到的就是继承 Application

    public class MyApplication extends Application { private
    List activities = new ArrayList();

    public void addActivity(Activity activity) {  
        activities.add(activity);  
    }  
    
    @Override  
    public void onTerminate() {  
        super.onTerminate();  
    
        for (Activity activity : activities) {  
            activity.finish();  
        }  
    
        onDestroy();  
    
        System.exit(0);  
    }   }
    

    activity onCreate 的时候来调用 addActivity (),有人可能想到这个Application需要在所有的 Activity onCreate的时候都使用,需要做一个单例实例。其实根本不需要。在 Activity 中使this.getApplication() 就可以了。
    最后在你需要推出程序的地方调用 application.onTerminate() 就可以了。记住:super.onTerminate() 必须调用,代码中的 onDestroy()是我自己的释放其他资源的方法,不是系统的。

    运行以上代码后,在LogCat 中会出现一行提示:

    android.os.Process.killProcess(android.os.Process.myPid()); System.exit(0); ActivityManager manager = (ActivityManager)
    getSystemService(ACTIVITY_SERVICE);
    manager.killBackgroundProcesses(getPackageName());种方式都能达到同样的效果,但是在模拟器上都会弹出 Unfortunately , XXX has stopped
    消息提示框,但确实能退出应用。部分真机直接失效,所以是不靠谱的。

    懒人专用:

    private boolean mIsExit;
    @Override
        /**
         * 双击返回键退出
         */
        public boolean onKeyDown(int keyCode, KeyEvent event) {
    
    
    
    if (keyCode == KeyEvent.KEYCODE_BACK) {
                if (mIsExit) {
                    this.finish();
    
                } else {
                    Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
                    mIsExit = true;
                    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            mIsExit = false;
                        }
                    }, 2000);
                }
                return true;
            }
    
            return super.onKeyDown(keyCode, event);
        }
    展开全文
  • 描述:在商城首页点击“退出登录”,浏览器发送请求到后台,controller方法进行处理退出功能,然后重定向页面回到商城首页 二. 解决方案 ==最最最关键的是使用return "redirect:/xxx.html"; @RequestMapping(value...
  • 实现退出登录: 在页面上单击“退出登录”按钮----->触发事件通过ajax访问action【LogoutAction.java】----->采用上述方法清除用户名------>返回到js文件中,用window.location.reload达到刷新本页效果----->此时...
  • 退出登录 - SpringSecurity框架实现用户退出登录-附件资源
  • 主要为大家详细介绍了ThinkPHP实现登录退出功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • redis实现登录退出代码(包括工具类)
  • 每一个app都会有一个”退出登陆”的功能,当点击退出之后需要将所有的Activity都finish掉,开始是想将栈中的所有Activity清除掉,但是没有找到...下面小编给大家分享android应用退出登录实现方法,需要的朋友参考下
  • Android 退出登录实现

    千次阅读 2019-07-09 21:39:00
    主要考虑的问题是资源的回收,如何在退出登录后回收 Activity 和 Fragment。 1、自定义一个工具类,该工具类拥有一个全局 List ,并且有添加、删除方法用于将 Activity 添加/移出List。 2、在父类 Activity 中去...
  • nodejs 使用cookie 实现登录退出登录

    千次阅读 2019-10-08 14:19:33
    登录成功后将用户信息以cookie得形式存起来 res.cookie("token",user,{ maxAge:24*60*60 }); 设置有效期 退出登录删除cookie
  • Android应用退出登录实现

    万次阅读 2016-05-18 15:58:29
    Android 应用简单功能:实现退出登录
  • 我们还是基于上一篇文章进行编写:... 一. 配置文件 在 spring-security.xml 配置文件中配置有如下退出申明 : invalidate-session : 是否销毁 session 中的本次访问数据记录; logout-url : 退出的路径; log...
  • token+Redis实现登录与退出登录

    千次阅读 2020-07-14 16:46:39
    token+Redis实现登录与退出登录 application配置文件添加Sql、Redis配置信息 #MySQL配置 spring.datasource.url=jdbc:mysql://localhost:3306/【数据库】?useUnicode=true&autoReconnect=true&...
  • 简单的SpringMVC小程序,用Intelli IDEA 编写的,实现拦截器功能,实现了简单的登录退出功能,是入门的好程序
  • 主要介绍了使用Java servlet实现自动登录退出功能,,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 小编接到一个需求,需要实现用户在浏览器登录后,跳转到其他页面,当用户在其它地方又登录时,前面用户登录的页面退出登录,这篇文章主要介绍了SpringBoot+Vue+Redis实现单点登录,需要的朋友可以参考下
  • 主要介绍了Yii2框架实现登录退出及自动登录功能的方法,结合实例形式详细分析了Yii2框架实现登录退出及自动登录功能的原理、实现方法与相关操作注意事项,需要的朋友可以参考下
  • 主要介绍了laravel框架实现后台登录退出功能,结合实例形式详细分析了Laravel框架后台登录退出相关的请求发送、验证、session读写与删除等相关操作技巧,需要的朋友可以参考下
  • 主要介绍了vue实现用户长时间不操作自动退出登录功能的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 我想通过token做一个自动登陆,直接跳转主页,但是我这退出登录后,再登录界面出现闪屏的现象,该如何处理???
  • Java实现登录功能(含修改密码 退出登录等).pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 172,025
精华内容 68,810
关键字:

如何实现退出登录