有个奇思妙想,不知道算是天马行空还是算傻逼行为,就是想用.NET写个SSO单点登录,满足SSO的标准需求之外,还要能适应多语言的系统,比如PHP、Java等语言开发的系统。有没有大神做过?可以提供一下方案和思路咨询么?
解决方案 »
- 我希望修改某些子控件里的Border的背景色,该怎么加限制条件?
- 无法封送处理“return value”: 无效的托管/非托管类型组合。
- .net环境下有什么上手快的三维可视化的技术?
- skinfeature界面换肤组件不错啊。效果比suipack好多了。
- 正则表达式
- 急急急!!!关于将Daset中无源数据表中的数据定性指定数据库的问题
- C#使用C/C++的dll遇到的奇怪问题
- 用C#写的activeX控件调用xML web service 在服务器正确,但在客户段使用的时候,要求安装IIS这是为什么?怎样解决
- c#k应用程序中怎么把一个串aa#1212d#dafsf#safdas#放到数组中
- webBrowser1里面怎么获得文本框里面的内容
- 求大佬对webapi传参类型进行解惑
- C#怎么检测局域网中是否有IP冲突
单点登录主要在于,把用户信息放在一个主服务器上存储,
多个子系统去主服务器上确认用户是否登录验证过。那么可以将用户信息存放在主服务器的数据库或缓存里。
其他子系统只要去访问这个缓存确认session就可以了。
那么,应用系统怎么来区分我到底是哪个用户呢?用Cookie?Cookie的话安全性如何规避?我把用户凭证加密之后存储到Redis里面,然后返回键给客户端可不可行?
那么,应用系统怎么来区分我到底是哪个用户呢?用Cookie?Cookie的话安全性如何规避?我把用户凭证加密之后存储到Redis里面,然后返回键给客户端可不可行?
将sessionid写入cookie。
用户登录通过sessionid去主服务器找session。
就是要其他语言编写的Web系统也能使用。比如PHP、Java。不知道能不能实现。
就是要其他语言编写的Web系统也能使用。比如PHP、Java。不知道能不能实现。能实现的。每个子系统各用一套语言都ok, 不管什么语言,都蛮复杂,网上有文章。
应用网站应该访问SSO网站来换取 token 对应的信息,一个网站跟SSO网站进行后台通讯,要什么 Redis?
人家(比如说微信)的 token 都是放到 url 参数中直接看到的。纠结“Cookie安全性”这就好像是问一个人的姓名如何规避一样,那就干脆所有的中国人都用法语重新起名好了。但是法语名字也并不比中文名字高大上啊?!
1、登陆部分,这其实和以前的部分基本一致,但是有一个登陆后返回的操作,因此要预留返回地址接口等,这个部分一般都在主登陆服务器。2、各个子网站的认证部分,当用户抵达子网站,就需要一个认证接口,用户点击确认后自动登录子网站,这部分在主登陆服务器,一般用嵌入页或调用【1】的部分实现,但是实现后将会给用户返回用户专有的一组令牌(token等,具体看你的视线方式。),这个令牌将会直接传递到子网站,令牌的有效性验证由子网站通过调用接口自己实现。3、统一退出部分,这部分由主网站实现,一般来说就是一个作废所有令牌的操作。单点登录有太多现成的例子等等,可以给你一份简单的扫雷,不要去看CAS的代码了,丫的坑太多了…………