php web系统多域名登录失败解决方法

下面只是简单的逻辑结构,对于正式的系统需要做具体的处理。

这里需要注意的是:加解密一定需要做安全验证。但是这个方法也不够完美,两个站点必须有相同一级域名;另外这种完全基于cookie的方式,安全性不够高

function login()
{
$info = callloginserver(); //访问登录服务器
if(!empty($info)) //登录成功了
}
//用户没有登录,则在本系统中登录并调用登录服务器接口

function login() //正常的登录
{
.......//验证用户的合法性
$_session[‘uid‘] = $user_id;
setcookie(‘sign‘, encrypt($pass9), ‘‘, ‘/‘, ‘the.com‘);
}
先检查用户是否在登录系统中登录
funtion sign()
{
$sign = $_cookie[‘sign‘];
if(!empty($sign))
{
$sign = decrypt($sign)(www.111cn.net);
..........///登录成功
}
}
用户没有登录,则在本系统中登录并调用登录服务器接口

function loging() //本系统登录
{
.....//登录成功
callseverlogin();//通知用户登录

}

所有的站点共享一个登录系统;当用户在其中的一个站点登录成功时, 该系统调用其他站点的登录接口,完成用户在其他站点的登录,同时设置相应的登录信息;或者在用户登录时,只在该系统保存用户登录信息,当用户在其他站点登录时,必须请求该系统接口,获取用户是否登录的信息。前一种方式的缺点是:不管用户有没有使用其他站点,那些站点都需要保存用户状态;后一种方式就把所有的压力都转移到登录系统上面来。而如果要实现用户退出的统一操作,就需要站点调用登录系统的退出接口,然后登录系统接口调用其他站点的退出接口;或者设置一个标记,如果这个标记不存在则标示用户退出,此时只要把该标示清空即可,其他站点发现该标示不存在就知道用户已经退出系统。

这种处理方式需要在登录系统和个站点之间规定登录接口,和注销接口。通过这些接口,个站点可以很方便的处理用户登录或退出:
from:http://www.111cn.net/phper/php-gj/37194.htm

时间: 2024-11-07 02:23:41

php web系统多域名登录失败解决方法的相关文章

NT AUTHORITY\IUSR登录失败解决方法

NT AUTHORITY\IUSR登录失败解决方法 1 今天打开网站时,突然报这个错误,平时都好好的 2 3 Cannot open database "aslkm" requested by the login. The login failed. Login failed for user 'NT AUTHORITY\IUSR'. 4 我的连接字符串是这样的,用的是 Windows 身份验证登录: 5 6 data source=.\SQLEXPRESS;initial catal

用户 \'IIS APPPOOL\\X\' 登录失败解决方法

最近搭了一个IIS发布VS2010做的网站,在编译器内运行网站没有任何问题,但是再浏览器中输入网址运行就出错了,后来仔细查了资料,终于解决了,给大家介绍一下,不要走弯路. 工具/原料 IIS VS2010 方法/步骤 1 你在浏览器输入网址报这样的错误 2 然后打开你的internet信息服务(IIS)管理器 3 点击“应用程序池” 4 在右边找到你的网站名字,右键“高级设置” 5 找到“进程模型”的标识 6 点开“标识”的下拉框,选择localsystem即可 "无法打开登录所请求的数据库 \

rabbitmq关于guest用户登录失败解决方法

刚安装完rabbitmq,登录的时候出现了: login  failed问题: 查看rabbitmq的文档,发现在3.3.1以后的版中,处于安全的考虑,guest这个默认的用户只能通过localhost来登录,其他的IP无法直接使用这个账号. 解决方法: 方法1.解决这个问题,需要在rabbitmq的配置文件中将loopback_users配置设置为空,如编写配置文件:/etc/rabbitmq/rabbitmq.config,并在其中添加以下内容: [{rabbit, [{loopback_u

服务器:消息18456,级别16,状态1 用户‘sa’登录失败解决方法

无法连接到服务器**:  服务器:消息18456,级别16,状态1   [Microsoft][ODBC   SQL   Server   Driver][Sql   server]   用户 'sa' 登陆失败 今天去商校机房装德意电子商务软件,遇到了以上问题,感觉可能是sa用户被禁用了或者密码错误,问了下机房管理员SQL密码是多少,居然说不知道,汗了-_-!!,还好能上网,百度下,google下,结果找到好多没有结贴的帖子,还没有解决方法,最后终于找到一个“忘了MSSQL server密码的

FTP服务器匿名用户登录失败解决方法

2016年6月13日: 今天同事问了我一个问题,现象是:vsftp配置文件中已经有了anonymous_enable=YES这一设置,可是登录FTP的时候还总是让输入用户名和密码: 我也仔细查看了配置文件,没发现什么问题,最终经过询问,才知道,要加入一条配置 no_anon_password=YES(NO) 当设置为YES时,表示anonymous将会略过密码检验步骤,而直接进入vsftpd服务器内.所以一般默认都是NO(登录时会检查输入的email) 加入了这个配置之后,就能够直接登录FTP查

异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法

1.安全性---登录名---新建登录名 2.常规----搜索 3.添加SERVICE用户-- 4.服务器角色---勾上sysadmin: IIS中: 应用程序池---对应的程序池上右键---高级设置 进程模块---标识---选择NetworkService(与数据库中设置统一) 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法

【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法

自己的应用程序的App.config或Web.Config文件中与系统的C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Configmachine.config文件1.重复如下配置: <DbProviderFactories> <add name="MySQL Data Provider2" invariant="MySql.Data.MySqlClient" description=".N

安装vmware tools失败解决方法

失败提示: reating a new initrd boot image for the kernel. update-initramfs: Generating /boot/initrd.img-3.11.0-12-generic vmware-tools-thinprint initctl: Job failed to start Unable to start services for VMware Tools Execution aborted. 解决方法一: 后来参照了这个网页 ht

访问IIS元数据库失败解决方法

这个问题一般在做.net开发网站时候会遇到,我就是在那个时候遇到的 访问 IIS 元数据库失败 解决方法 现象如下: 访问 IIS 元数据库失败. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败. 用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://