easyui 在线演示
05-13
easyui不如extjs,有在线演示,我找了很久, 没找到一个好用的演示,自己顺手做了一个,希望大家喜欢。
easyui不如extjs,有在线演示,我找了很久, 没找到一个好用的演示,自己顺手做了一个,希望大家喜欢。
单点登录,英语为 Single Sign-On,粗俗点讲,就是登录一次,全站适用。
单点登录在应用中的实际意义,就是减少开发量,增强用户体验。
减少开发量,指的是:只要开发一套用户系统, 各个系统统一调用。用户系统尽量优化接口,通用性,安全性,达到一次开发, 全站适用。
增强用户体验,指的是:用户一次登录,全站登录。而不是切换一个模块,就登录一次。
web方面单点登录主要是用cookie传递令牌进行身份认证。简单说下令牌。
我这里用散列值来作为令牌,当然散列值之中有我的的密钥,防止别人伪造我的令牌。
环境:sso.sunboyu.cn 用户中心 vps.sunboyu.cn/cookie.php 跨子域不同脚本访问测试。 令牌密钥: $key
具体规则: sso.sunboyu.cn 用户登录,登录信息写到cookie,cookie做用域为 sunboyu.cn。并且生成令牌sso_key=md5(uid+username+key)。
登陆后,其他子域站点调用此cookie信息,并且验证此令牌是否是合法的令牌,if( md5( cookie[uid]+cookie[username] )==cookie[key] )
这样既可判断,此令牌合法性而确认此用户为登录。
具体demo:http://sso.sunboyu.cn
延伸:一个简单的md5似乎很容易让别人猜解加密的算法,来暴力一翻也不是没有可能,因此,除了加密外,算法的安全性和密钥的安全性也是需要考虑的。
如果安全级别要求高之又高,可以考虑rsa算法,不过速度就是问题了。其中又参考了一些朋友的意见,用对称加密,比如php中的Mcrypt 函数。
扩展开发:对于大多数网站,跨子域的单点登录就能满足应用。但对于一些域名复杂的网站,比如sohu,显然多个域名不能用此方法实现。这时就得搞出跨跨的单点登录系统。等年后继续得瑟。
1、创建一个project(可理解为站点)
django-admin.py startproject project1
发现新建了一个文件夹 project1
2、创建一个app(可理解为一个……)
python manage.py app1
发现多了一个文件夹 app1
3 、vi ./app1/views.py 增加代码
4、vi ./urls.py 增加代码
( r’^tests/’ , ‘project1.app1.views.index’ ),
5、启动服务
python manage.py runserver domain.com:8000
然后在浏览器打 domain.com:8000/tests
如果能看到 hello test则证明配置成功。
如果不成功,看debug信息吧,debug默认是开启的。
另外我自己配置使用fastcgi方式运行python,python manage.py runfcgi host=127.0.0.1 port=8000,然后用nginx代理访问。两种方式还有所不同,具体的不同点暂时还不知道,希望知道这些差别的大大们多加提示,继续研究中。
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|---|---|---|---|---|---|---|
| « 一 | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||