温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,我们再来看第二个例子,管理员剔除用户。那我们需要分析一下啊。管理员剔除用户,那什么样的用户可以被管理员剔除啊?游客肯定不行,对不对,肯定是。已经登陆的用户。那么管理员可以把他剔除了,比如他在论坛里边发布了一些。啊,不健康的呀,或者不合不合适的一些言论,那么管理员就有权把他踢出出去。所以。关联剔除的用户,他他得是登录的用户。那么这里边就有个问题了,那什么是登录的用户呢?登录的用户其实就是用户信息。背。
01:00
写入到了。Session里边。那这就是登陆了。所以什么是登录。将用户信息写入到三。在这登录了。那么什么又是剔除呢?你注意啊,管理员剔除用户可不是删除用户。删除用户是整个这个用户没了,他以后再也不能登录了,而剔除用户是指使其session。失效。他现在正在做那些操作,马上不能做了。他需要重新再登录。诶,这就是剔除用户。那我们就得想。这里边儿。
02:01
怎么样把这个问题解决掉?嗯,我要剔除用户管理要剔除,那这样的话,大家想一下那个管理员。要想剔除他,就得获取到他的session,是他的session才能失效啊,所以管理员应该可以看到所有登录用户的session。就是这个三审对象我是管理员,是可以看到的,可以获取到的,因为可以获取到,所以我可以使这个三审失效。那管理员可以看到所有登录用户的session。那哪一个session是不守规矩的那个用户的session呢?所以我们应该把这个session。这个三审对象和一个比较明显的信息绑定到一块儿。
03:02
那什么呢,最明显的就是用户名啊。所以我们可以这样来做。把用户名作为key。这个用户所对应的session。对象作为value,给它放到一个map里边。管理员。在管理员的界面里面,可以看到这个map里边的信息,可以看到这个。这个这个这个所有的用户名。我想剔除掉谁,只要一点这个用户名旁边有一个链接剔除,就把它踢掉了。那这个map。这个map什么时候?创建比较合适。
04:02
当然是整个应用启动的时候创建比较合适。对不对,应用启动的时候,我就把这个map创建好了。当用户登录的时候,什么是用户登录啊。那你这个用户和SESSION1进行绑定。那么我就感知到了,那么马上就把这个。用户所对应的这个session,给他写到这个map里边。所以这里边会用到两个监听器,一个是contest listener,一个。是我们那个session的绑定,就是session listener。OK,这是我们先对这个需求进行。分析。你看我们怎么样解决这个问题,先分析出来一个大体的解决方案。
我来说两句