首页新闻找找看学习计划

二级子域名对应不同用户、单点登录SSO 问题。求指点。。。

0
悬赏园豆:100 [已解决问题] 解决于 2016-11-12 14:03

博客园的子域名首页是怎么实现的啊?
http://jerseyblog.cnblogs.com/
像这个,转入到的是我的博客
别人的就是 http://xxxx.cnblogs.com
有哪个解决方案还是?
按我现在知道的,就只能在iis上一个站开一个iis站点。
mvc路由,只能重写后面的部分吧。能重写域名吗?
请指点。
或者杜杜开一篇博客介绍下博客园是怎么实现的呗?

关于域名解析知识这块,我理解什么是泛解析。知道泛解析 *.cnblogs.com 到某个IP后,所有子域名解析都会向这个IP。但是我不理解的是解析完了后,我只会在IIS上创建新站点,绑定不同主机头值,然后部署不同的代码。我这显然是一个十分傻逼的做法。。。。请各位了解的解答。

另外,各位能在讨论一下单点登录SSO的解决方案么?

各位看看博客园 CNBlogsCookie 这个cookie值:EDC5CF1D839340426AAD897DFE5AAAC75804696429F1A88E46CE7977072F1891440589DAD7E6F2565C98006B779450B10D22965832EBE4662F64BBC4DB8778A1E30DE0159C400B1D9A9D8ECE075B134DD18DA06B

这个值,觉得后台是不是会拿来解密?

我设想的单点登录,同一个域的,直接设定一个cookie,比如:access-token,然后子系统A直接拿access-token换本地票据,但是会有一个问题,换完了以后,失效不失效?如果不失效,总感觉能拿来重复使用就不安全。比如容易被别人拿去复制了。如果登录一次后,access-token就失效,那再访问下一个子系统,就不能再拿access-token换本地票据了,就只能用子系统A换好的票据信息,反解密出用户相关信息,像博客园这个是不是这样子?但是如果这个票据信息能反向解密,总担心被别人知道解密方式。如果知道了,就能伪造。

然后我看了一下csdn的单点登录,发现,会种下一个 access-token 和一个 userinfo,当我把access-token删除后,登录状态依然正确,当我把userinfo删除后,登录就失效了。然后我发现,如果access-token如果是有用的话,访问passport.csdn.net的话,会直接登录成功,但是这个时候又换了一个accecc-token。所以,csdn的access-token是不会失效的,想办法拿到这个access-token的时候能复制身份。

不知道我这样描述清楚不?

然后还有统一退出,如果换成了本地票据,统一退出又不是很方便,暂时只能想到全部回同一个地方退出,退出的时候,向浏览器输出javascript,让浏览器访问每个子站的退出链接。但是用户可能又不会老老实实点退出,如果是超时呢?可能不会同步退出,目前我想到的就是子系统统一换票据,设置同样的失效时间。。。。

如果不换成本地票据,感觉比较傻吧?

大家踊跃讨论,希望杜杜能把博客园的解决方法共享一下。谢谢。怎么艾特人?@杜杜

 

 

LoveCoder的主页 LoveCoder | 初学一级 | 园豆:7
提问于:2016-09-13 18:10
< >
分享
最佳答案
0

首先把泛域名(*.cnblogs.com)解析到IP,就是你的服务器上

然后在代码框架里,比如HttpModule,增加一个功能,读取域名的前缀,比如xiaolei.cnblogs.com,那就读取xiaolei,然后用xiaolei去db里搜索是哪个用户,知道是哪个用户了就好办了

收获园豆:100
小 雷 | 菜鸟二级 |园豆:314 | 2016-09-19 11:47

应该是这个思路。我试试吧大兄弟。谢谢。

LoveCoder | 园豆:7 (初学一级) | 2016-09-27 14:32
其他回答(8)
0

http://www.cnblogs.com/hantianwei/p/5699370.html

韩天伟 | 园豆:697 (小虾三级) | 2016-09-13 19:35

兄弟,这是什么单点登录?里面好像没讲这块吧?表示不懂你里面说的什么。我要的是SSO,是多个子系统一个地方登陆。

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-14 08:39
0

泛解析到一个服务器上,你就知道 * 是什么了呀。

也没有必要为每个人部署一套代码吧。你可以把*看出http://www.cnblogs.com/*/,路由拐一下。

cookie本来就是可以偷走的。服务器必须通过cookie才能识别用户。担心偷走,可以上https。

access-token应该会在服务器留一份。登录过就会变。登出后服务器也清空。

长蘑菇星人 | 园豆:1820 (小虾三级) | 2016-09-14 08:46

路由能重写域名部分吗?

能介绍哪篇靠谱的博客吗?

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-14 09:16

@LoveCoder:

有很多吧。自己实现个路由是肯定的了。

还可以加额外的功能,比如2级域名绑定 IP 端口,可以实现你想独立部署程序的做法。(逃

支持(0) 反对(0) 长蘑菇星人 | 园豆:1820 (小虾三级) | 2016-09-14 09:36

@长蘑菇星人: 这个肯定不是好方法,不可能单独部署站点的。

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-14 13:27
0

 不一定解密cookie,也有可能存在一张临时对应表来存储用户对应关系。另解密并不是那么容易的

起个名字 | 园豆:377 (菜鸟二级) | 2016-09-14 08:48

如果是靠临时对应表来存储用户对应关系的话,那么得保持这个access-token一直有效,就回到了我说的那个,担心别人拿到这个access-token给别人拿到了直接访问一下登录

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-14 09:16

@LoveCoder: 对你说的问题,我能想到的方法就是token附加ip信息。

支持(0) 反对(0) 起个名字 | 园豆:377 (菜鸟二级) | 2016-09-18 08:36

@害羞的大叔: 我也是这么想的。但是我希望有人做过相关方案,直接说说看

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-19 09:24
0

 理论上这是什么“泛域名解析”弄的么?博问没法at人,去闪存问问dudu

顾晓北 | 园豆:9520 (大侠五级) | 2016-09-14 08:56

私聊了dudu,还没来回答。可能在忙吧。泛域名解析只能解析啊,还没做好网站这边。

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-14 09:17
0

1.确实是泛解析,至于到底怎么回事,自己百度吧

2.这都不涉及SSO……因为你是同一顶级域名下cookie是共享的……

wdwwtzy | 园豆:226 (菜鸟二级) | 2016-09-14 16:26

哥们,理论上说得通。我只是想求一个实际在使用中的方案。问题阐述我自己已经给出了解决方案和可能会出现的问题。

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-19 09:25
0

1.IIS泛解析 *.domain.com绑定到主机上,主机头留空

2.根据xxx.doamin.com来判断UserId,然后获取相对应的信息

3.mvc可以做,可以,重写xxx.domain.com中的xxx部分

草根站长李小冲 | 园豆:234 (菜鸟二级) | 2016-09-15 21:43

现在打算采用 1 2 那样搞,好像相对简单一点,原理上明白,理论上行得通,已经测试过了。

MVC,看了一些介绍,但是没有整得很明白,也是做一个泛解析,主机头留空,然后重写XXX部分吗?MVC重写,能重写域名部分吗?相比1 2 那样实现,MVC实现有更好的优势吗?求跟进,谢谢

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-10-08 09:57

@LoveCoder: 看一下这个吧,我以前做二级域名访问不是用MVC做的,下面这个是前段时间找的:http://pan.baidu.com/s/1skC6mgH

支持(0) 反对(0) 草根站长李小冲 | 园豆:234 (菜鸟二级) | 2016-10-08 10:04
0

SSO 你要部署统一的登陆站点,所有页面加载之前先做auth验证,如果没有登陆,跳转到统一的登陆页面

不负春光,努力生长 | 园豆:1382 (小虾三级) | 2016-09-16 16:02

这个答案是不是太那个了点?

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-19 09:26
0

IIS站点可以不绑定主机名

dudu | 园豆:41258 (高人七级) | 2016-09-17 18:39

不能开篇博客详细介绍下吗dudu

支持(0) 反对(0) LoveCoder | 园豆:7 (初学一级) | 2016-09-19 09:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册