搜索到与相关的文章
编程技术

第二章 身份验证——《跟我学Shiro》

目录贴:跟我学Shiro目录贴身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。在shiro中,用户需要提供principals(身份)和credentials(证明)给shiro,从而应用能验证用户身份:principals:身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。一个主体可以有多个principals,但只有一个Primaryprincipal

系统 2019-08-29 22:00:47 1721

编程技术

第十八章 并发登录人数控制——《跟我学Shiro》

目录贴:跟我学Shiro目录贴在某些项目中可能会遇到如每个账户同时只能有一个人登录或几个人同时登录,如果同时有多人登录:要么不让后者登录;要么踢出前者登录(强制退出)。比如springsecurity就直接提供了相应的功能;Shiro的话没有提供默认实现,不过可以很容易的在Shiro中加入这个功能。示例代码基于《第十六章综合实例》完成,通过ShiroFilter机制扩展KickoutSessionControlFilter完成。首先来看看如何配置使用(sp

系统 2019-08-29 22:00:43 1721

编程技术

第二十二章 集成验证码——《跟我学Shiro》

目录贴:跟我学Shiro目录贴在做用户登录功能时,很多时候都需要验证码支持,验证码的目的是为了防止机器人模拟真实用户登录而恶意访问,如暴力破解用户密码/恶意评论等。目前也有一些验证码比较简单,通过一些OCR工具就可以解析出来;另外还有一些验证码比较复杂(一般通过如扭曲、加线条/噪点等干扰)防止OCR工具识别;但是在中国就是人多,机器干不了的可以交给人来完成,所以在中国就有很多打码平台,人工识别验证码;因此即使比较复杂的如填字、算数等类型的验证码还是能识别的

系统 2019-08-29 22:00:40 1721

编程技术

Web service client

Thisarticleistalkingaboutthewebserviceclient.FirstlytheSOAPmessagemodel:then,themessagesample, 系统 2019-08-29 22:00:10 1721

编程技术

【Lucene3.0 初窥】索引创建(5):索引数据池及

上接《索引创建(2):DocumentWriter处理流程三》1.4索引数据池存储细节倒排索引(token->postinglist)表的数据信息在内存中并不是直接存储在postingsHash中的,而是存放在三大数据缓冲池中——CharBlockPool,ByteBlockPool,IntBlockPool。这三个池均都由若干个固定长度的buffer数组构成。DocumentsWriter对它们进行管理和维护(包括分配新的块或者回收不用的块的操作),以达

系统 2019-08-29 21:59:45 1721

编程技术

算法分析之分治法学习总结(一)

算法分析之分治法学习总结(一)一)解决问题的类型:当我们要解决一个输入规模(n)很大的问题时,直接处理往往比较困难或者根本无法求解,我们希望把输入规模缩小,即分成很多份,分别解决了,并且这些小问题容易合起来从而解决整个问题。二)解题关键:1)如何分:我们往往先把输入分成两个与原来相同的子问题,如果规模还太大,我们对这些子问题再做上述处理,直到这些子问题容易解决为止.2)合并子问题:往往分治法的难点在于分完之后怎么合并.合并策略决定了算法的优劣,合并问题根据

系统 2019-08-12 09:30:06 1721

编程技术

设计模式六大原则(6):开闭原则

文章来源:http://blog.csdn.net/zhengzhb/article/details/7296944定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化

系统 2019-08-12 09:29:35 1721

Python

Python 2.x 与 Python 3.x 除法运算的区别

Python2.x与Python3.x除法运算的区别strong@foreverstrong:~$pythonPython2.7.12(default,Dec42017,14:50:18)[GCC5.4.020160609]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>fps=15.6>>>fps15.6>>>>>>int(fps+1)/35>>>>>>(f

系统 2019-09-27 17:57:27 1720

Python

解决Python内层for循环如何break出外层的循环的问题

偶然发现了for…else…这种用法,使用这个实现了break跳出嵌套的for循环In[31]:foriinrange(1,5):...:forjinrange(5,10):...:print(i,j)...:ifj==6:...:break...:else:...:continue...:break1516for…else…的运行逻辑是当for循环正常执行结束就会运行其else语句,如果中途break的话,就不会执行else中的内容上面的代码实现了内存f

系统 2019-09-27 17:57:18 1720

Python

python多线程同步之文件读写控制

本文实例为大家分享了python多线程同步之文件读写控制的具体代码,供大家参考,具体内容如下1、实现文件读写的文件ltz_schedule_times.py#!/usr/bin/envpython#coding=utf-8importosdefReadTimes():res=[]ifos.path.exists('schedule_times.txt'):fp=open('schedule_times.txt','r')else:os.system('to

系统 2019-09-27 17:57:16 1720