急 asp.net和php整合,需要同步登陆,注销等

fasttime 2011-07-13 08:46:10
现在找到的有关资料得知,采用SSO单点登陆,可实现同步登陆和注销.但我不知我现在的情况是否可以采用SSO,如果可以就麻烦大家给点资料,要确实行得通的思路.
希望大家给点思路,或资料.
在线等
...全文
208 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fasttime 2011-07-15
  • 打赏
  • 举报
回复
别沉下去了啊
子夜__ 2011-07-13
  • 打赏
  • 举报
回复
wang_jian_999 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fasttime 的回复:]
引用 6 楼 konghulu 的回复:
SESSION可以放到SQLSERVER中。
不过不知道PHP支持不。

放到SQLSERVER中干嘛,放一条记录吗?如果没点注销,那记录不就一直存在了吗
[/Quote].......................
leongF 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sp1234 的回复:]
纠缠底层的技术没有什么意思。应该先搞懂单点登录的过程、它需要什么?!





具体行为可能不一样,但是原理是一样的。比如当用户浏览
http://www.xyz.com/abc.aspx
时,假设选择“登录”,那么网页会访问统一的登录门户
http://www.opq.com/login.xyz?callback=http://www.xyz.com/def.a……
[/Quote]

解开我多日之愁
神仙放P,不同风响
  • 打赏
  • 举报
回复
纠缠底层的技术没有什么意思。应该先搞懂单点登录的过程、它需要什么?!





具体行为可能不一样,但是原理是一样的。比如当用户浏览
http://www.xyz.com/abc.aspx
时,假设选择“登录”,那么网页会访问统一的登录门户
http://www.opq.com/login.xyz?callback=http://www.xyz.com/def.aspx
在这个登录门户的login.xyz页面上,假设用户没有登录,那么就会要求用户录入用户名和密码。当验证用户密码正确之后,它会问用户是否要访问www.xyz.com网站。假设用户同意访问,那么这是就会重定向到
http://www.xyz.com/def.aspx?login=12345
这样的地点。其中12345是登录门户给www.xyz.com网站返回的授权号,网站可以凭这个授权号来从后台取得用户基本信息(但不包括密码)。这个授权号可能过20秒钟就作废了。

假设另外一个网站 http://mno.com 也要访问登录信息,它直接也去登录门户去导航:
http://www.opq.com/login.xyz?callback=http://www.mno.com/mainpage.php
这时候页面login.xyz已经根据cookie信息知道登录用户是谁,直接判断用户是否允许访问 www.mno.com这个网站,然后导航到mainpage.php这个页面,同时传递给一个授权号。

当然用户可以直接在登录门户网页(其实这个门户网站可能只有这一个网页)上选择“以后直接登录”,不需要再提问。

还可以要求:允许的callback串可以预先在登录门户中登记,没有登记的不给与导航,不发给授权号。

授权号可以复杂一点。比如客户网站需要在访问登录网页之前,先申请一个授权号,然后访问这个登录网页时,提交这个授权号。这个授权号也是20秒钟既作废。这样就可以进一步防止仿冒。具体行为可能不一样,但是原理是一样的。比如当用户浏览
http://www.xyz.com/abc.aspx
时,假设选择“登录”,那么网页会访问统一的登录门户
http://www.opq.com/login.xyz?callback=http://www.xyz.com/def.aspx
在这个登录门户的login.xyz页面上,假设用户没有登录,那么就会要求用户录入用户名和密码。当验证用户密码正确之后,它会问用户是否要访问www.xyz.com网站。假设用户同意访问,那么这是就会重定向到
http://www.xyz.com/def.aspx?login=12345
这样的地点。其中12345是登录门户给www.xyz.com网站返回的授权号,网站可以凭这个授权号来从后台取得用户基本信息(但不包括密码)。这个授权号可能过20秒钟就作废了。

假设另外一个网站 http://mno.com 也要访问登录信息,它直接也去登录门户去导航:
http://www.opq.com/login.xyz?callback=http://www.mno.com/mainpage.php
这时候页面login.xyz已经根据cookie信息知道登录用户是谁,直接判断用户是否允许访问 www.mno.com这个网站,然后导航到mainpage.php这个页面,同时传递给一个授权号。

当然用户可以直接在登录门户网页(其实这个门户网站可能只有这一个网页)上选择“以后直接登录”,不需要再提问。

还可以要求:允许的callback串可以预先在登录门户中登记,没有登记的不给与导航,不发给授权号。

授权号可以复杂一点。比如客户网站需要在访问登录网页之前,先申请一个授权号,然后访问这个登录网页时,提交这个授权号。这个授权号也是20秒钟既作废。这样就可以进一步防止仿冒。





等你搞懂了业务流程,底层使用什么方法这是在实现时再去变换手法来实现的事。而且你可以不断重构,使用不同的编程方式。使用数据库还是什么文件甚至或是cookieD的差别,这些争议对业务架构上毫无意义。这些都是在开发时才要去决定的编程架构问题。
银-魂 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 konghulu 的回复:]
SESSION可以放到SQLSERVER中。
不过不知道PHP支持不。
[/Quote]
我也觉得没必要
fasttime 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 konghulu 的回复:]
SESSION可以放到SQLSERVER中。
不过不知道PHP支持不。
[/Quote]
放到SQLSERVER中干嘛,放一条记录吗?如果没点注销,那记录不就一直存在了吗
潮起潮落 2011-07-13
  • 打赏
  • 举报
回复
SESSION可以放到SQLSERVER中。
不过不知道PHP支持不。
银-魂 2011-07-13
  • 打赏
  • 举报
回复
Cookies 有跨域小工具 你可以去搜下 Session我是没看到过有跨域的
fasttime 2011-07-13
  • 打赏
  • 举报
回复
Cookies也不能完全跨域吧.www.a.com与www.b.com
听说子域名还是可以的.
  • 打赏
  • 举报
回复
sso跟网站开发工具没有关系,只要是多个网站就可以了。
银-魂 2011-07-13
  • 打赏
  • 举报
回复
顶起 跨域好像不能用Seesion存入用户名等的 要用Cookies
fasttime 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wxr0323 的回复:]
文章看了吗?
http://www.cnblogs.com/jillzhang/archive/2008/01/31/1060379.html
[/Quote]看了下,我想先了解下这个问题.
情况是这样的asp.net的系统用的数据库是mssql的,而php的论坛用的是mysql数据库.
那么如果采用SSO做,它和不同数据库及不同的用户有联系吗?,假如asp.net上有采用a用户登陆,而php系统上又没得a用户.是不是得先从用户同步做起啊?然后同步后再做单点登陆等等
还有一点php的discuz论坛它的加密方式又不同,好象双重md5加随机字符串的,我思路完全乱了.不做从何做起
fasttime 2011-07-13
  • 打赏
  • 举报
回复
对了,还有个情况没说明.
是需要跨域登陆.如www.a.com和www.b.com同步登陆.
xingdongfang 2011-07-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 leongf 的回复:]

引用 9 楼 sp1234 的回复:
纠缠底层的技术没有什么意思。应该先搞懂单点登录的过程、它需要什么?!





具体行为可能不一样,但是原理是一样的。比如当用户浏览
http://www.xyz.com/abc.aspx
时,假设选择“登录”,那么网页会访问统一的登录门户
http://www.opq.com/login.xyz?callback=http://www.……
[/Quote]

有一个验证中心,它的责职是:

根据用户输入的帐号信息,判定是否合法,
如果合法,给一个授权号。

验证授权号是否正确。

这个授权中心根本就不去管什么 call back.

就是这样。

子夜__ 2011-07-13
  • 打赏
  • 举报
回复
文章看了吗?
http://www.cnblogs.com/jillzhang/archive/2008/01/31/1060379.html
fasttime 2011-07-13
  • 打赏
  • 举报
回复
采用SSO有什么要求呢?比如说2个不同的数据库是否一定要拥有相同的用户呢?才符合SSO的要求呢?
如果有这个要求,那么是不是要做会员同步注册和更新,又应怎么做呢?有没有.net版的ucenter能和php的ucenter进行通迅的源码或程序啊?

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧