如何在多台服务器上共享Session(PHP/JSP/ASP.NET)以及单点登录(SSO)

如何在多台服务器上共享Session(PHP/JSP/ASP.NET)以及单点登录(SSO)

Apache Session复制:

http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

使用Memcached来共享PHP Session:

https://www.digitalocean.com/community/tutorials/how-to-share-php-sessions-on-multiple-memcached-servers-on-ubuntu-14-04
http://www.justincarmony.com/blog/2010/09/15/sharing-sessions-across-multiple-servers-with-memcache/
http://www.bitvolution.com/session-sharing-in-php-the-easy-way

使用Coherence这个工具来共享JSP Session:

https://blogs.oracle.com/muraliveligeti/entry/coherence_session_sharing_between_applications

通过设置session replication 和session sticky来共享多台J2EE服务器集群式的Session共享:

https://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

通过共享session数据文件或者实现一个数据库session处理来共享:

http://stackoverflow.com/questions/16243450/share-a-session-across-multiple-servers-with-different-domains

关于共享Session:不同后台存储使用不同的负载均衡策略:

http://serverfault.com/questions/32421/how-is-session-stickiness-achieved-across-multiple-web-servers

通过WebLogic Session描述符的sharing-enabled配置来共享JEE Web应用程序Session:

https://technology.amis.nl/2012/01/18/sharing-session-state-between-jee-web-application-through-weblogic-session-descriptor-of-sharing-enabled/

通过 Shiro session manager和XAP(Java/.NET)来共享全局HTTP Session:

http://blog.gigaspaces.com/global-http-session-sharing/
http://shiro.apache.org/session-management.html

共享ASP.NET或者ASP应用程序:

http://msdn.microsoft.com/en-us/library/aa479313.aspx
http://www.codeproject.com/Articles/27090/Sharing-Session-Across-Applications
http://forums.asp.net/t/1234883.aspx
http://blogs.lessthandot.com/index.php/webdev/serverprogramming/aspnet/sharing-asp-net-session-state-between-ap/
http://galratner.com/blogs/net/archive/2011/06/01/sharing-memory-session-between-servers.aspx

存储在SQL Server数据库里来共享Session:

http://www.developer.com/net/asp/article.php/3595766/Storing-Session-State-in-a-SQL-Server-Database.htm

存储在Cookies里通过SSO(Single Sign On)来共享数据

http://en.wikipedia.org/wiki/Single_sign-on
http://www.opengroup.org/security/sso/sso_intro.htm
http://www.authenticationworld.com/Single-Sign-On-Authentication/

时间: 2024-08-24 17:30:30

如何在多台服务器上共享Session(PHP/JSP/ASP.NET)以及单点登录(SSO)的相关文章

session和cookie区别,多台WEB服务器如何共享session,禁用COOKIE后SESSION是否可用,为什么?

答:session的运行机制: 用户A访问站点Y,如果站点Y指定了session_start();(以下假设session_start()总是存在)那么会产生一个session_id,这个session_id一般会以COOKIE的形式保存到用户A(我们可以通过在php.ini里设置session.use_only_cookies为1,强制SESSIONID必须以COOKIE专递.).这时候SESSIONID表现为$_COOKIE[‘PHPSESSID’];(PHPSESSID可用session_

PHP多台服务器跨域SESSION共享

网站业务规模和访问量的逐步发展,原本由单台服务器.单个域名的迷你网站架构已经无法满足发展需要. 此时我们可能会购买更多服务器,并且启用多个二级子域名以频道化的方式,根据业务功能将网站分布部署在独立的服务器上:或通过负载均衡技术 (如:DNS轮询.Radware.F5.LVS等)让多个频道共享一组服务器. OK,头脑中我们已经构思了这样的解决方案,不过进入深入开发后新的技术问题又随之而来: 我们把网站程序分布部署到多台服务器上,而且独立为几个二级域名,由于Session受实现原理的局限(PHP中S

多台web服务器之间共享session

常见的几种方法如下: 1. 写客户端Cookie的方式 当用户登陆成功以后,把网站域名.用户名.密码.token.session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用户从一台Web服务器跨越到另一台服务器的时候,我们的程序主动去检测客户端的cookie信息,进行判断,然后提供对应的服务,当然,如果cookie过期,或者无效,自然就不让用户继续服务了.当然,这种方法的弊端就不言而喻了,比如客户端禁用了cookie或者cookie被黑客窃取了呢? 2. 服务器之间S

多Web服务器之间共享Session的解决方案

一.提出问题: 为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务器的时候能够继续使用客户的Session? 二.解决方案: 1. 写客户端Cookie的方式       当用户登陆成功以后,把网站域名.用户名.密码.token. session有效时间全部采用cookie的形式写入到客户端的cookie里面,如果用户从一台Web服务器跨越到另一台服务器的时候,我们的程

实现在同一台服务器上登录的ssh用户的群聊(聊天室)功能

直接上代码了,注释还算清晰,有问题欢迎提问指证. 为方便下载编译,代码都放到一个文件里了. 服务器是CentOS,客户端用的secureCRT. /* 功能: 在同一台服务器上ssh登录的用户可以群聊(聊天室) 原理:<span style="white-space:pre"> </span>1.通过roomNo.来区分不同的房间或群组: 2.以roomNo.作为key来创建一块共享内存,来保存进入到该room的用户列表: 3.用户以ssh(或其它方式)登录到服

【 Linux 】单台服务器上并发TCP连接数

单台服务器上并发TCP连接数    问题:一台服务器到底能够支持多少TCP并发连接呢? 1. 文件描述符限制:    对于服务器来说,每一个TCP连接都要占用一个文件描述符,一旦文件描述符使用完,新的连接到来返回给我们的错误是"Socket/File:Can't open so many files" 这时,你需要明白操作系统可以打开最大文件数的限制. 进程限制(用户限制):            执行 ulimit -n 输出1024,说明对于一个进程而言最多只能打开1024个文件,

网络编程释疑之:单台服务器上的并发TCP连接数可以有多少

曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了.我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来说已经远远足够了,但是对于一些拥有很大用户基数的互联网公司,往往面临的并发连接数是百万,千万,甚至腾讯的上亿(注:QQ默认用的UDP协议).虽然现在的集群,分布式技术可以为我们将并发负载分担在多台服务器上,那我们只需要扩展出数十台电脑就可以解决问题,但是我们更希望能更大的挖掘单台服务器的资源,先努力

在同一台服务器上配置多个Tomcat

. 在同一台服务器上配置多个Tomcat,布布扣,bubuko.com

windows下同一台服务器上装有两个ORACLE数据库实例,通过命令启停数据库

同一台服务器上装有两个ORACLE数据库实例,通过命令启停数据库,如何区分操作的是哪个数据库实例?操作如下: 1.在命令行 set oracle_sid=one_实例   //先修改环境变量,这一步等于切换了数据库实例 sqlplus /nolog    connect /as sysdba    shutdown 或者 2.连接的时候 sqlplus user/[email protected] as sysdba    //也可以指定 shutdown immediate select in