• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

sso的退出sso的退出rubystart

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

网页跳转的方式的sso,退出登录的实现会麻烦一点.一开始,我们是在portal站点那里,把所有应用程序的退出都放在portal的退出页面.从实现各个子站点的退出.但后来发现,有时候有些子站点,退不出来.所以后面,我们就改用统一的处理方式,然后ajax统一处理推出.

  其实退出也很简单,就是清理该清理的凭证就行了.我们当时做了一个httphander处理,代码如下.

 1 public class LoginoutHandler : IHttpHandler {
 2     
 3     public void ProcessRequest (HttpContext context) {
 4         try
 5         {
 6             context.Session.Clear();
 7             context.Response.Cookies.Clear();
 8             context.Response.Write("<msg>1</msg>");
 9         }
10         catch
11         {
12             context.Response.Write("<msg>0</msg>");
13         }
14       
15         
16             
17             
18     }
19  
20     public bool IsReusable {
21         get {
22             return false;
23         }
24     }
25 
26 }

      关于这个退出,我们也2个方案.一个方案是把所有子站点,通过配置文件的方式保存起来,然后portal退出时,调用所有子站点的退出.但这方案存在2个问题,一是退出时间会比较长.二是退出比较麻烦.每增加一个站点,都增加一个配置. 后面改用另外一种方案. 就是在单点登录跳转中心,记录所有用户曾经跳转过的站点. 然后在站点退出时,调用曾经跳转过的站点的退出接口,而达到统一退出.

     在这里补充一下,因为我们项目模块比较多,一开始经常出现由于某个模块的部署出问题,导致整个potal站点都出问题了.所以后面我们采去iis应用程序部署方案.每一个模块的dll都独立,从而达到互不影响. 但这也造成不少的问题,主要如下,一个是缓存不共享(当时用的企业库的,后来我们采去另外一个缓存组件很好解决了这个问题,将在后面介绍),二是session不共享,因此退出时必须要掉用该模块的退出.

    好,各位,关于单点登录,我就介绍到这里. 

     接下来我将会向大家介绍一下,如何通过url传参数,来解决 window.showModalDialog夸域的技术,从而轻松实现资源共享.希望会对曾经碰到过类似问题的网友有帮助.

 

 登录代码请看 http://www.cnblogs.com/jake1/archive/2013/04/28/sso_code.html

 登录设计请看 http://www.cnblogs.com/jake1/archive/2013/04/28/sso_page.html

 

 

ruby start

 
其实很早就想做一个ruby的demo了,主要还是受到一个前同事的影响,说ruby的开发速度是.net的十倍,或许夸张了点,但也不无道理。不管怎样,亲身体验才是最重要的。言归正传,以下是如何搭建基本的ruby开发环境的step by setp记录,适合beginner。

一、准备环境 首先是需要在电脑上安装ruby的开发环境。我的OS是Cent OS 6.2 有以下三种方式来进行安装:

  • 获取源码进行编译安装
  • 使用第三方工具(例如:RVM、RubyInstaller【适合windows】)
  • 使用包管理工具

可根据自己的情况选择合适的安装形式,推荐使用1或者2,第三种包管理工具带的ruby版本相对比较旧了,不推荐。

我选择了获取源码编译安装的方式,开始之前,还需要安装相关的库:

1,安装相关的库 
yum install zlib zlib-devel sqlite-devel

2,安装openssl
rvm pkg install openssl

具体操作步骤:

1wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0.tar.gz
2tar -zxvf ruby-2.0.0.tar.gz
3,./configure --prefix=/usr/local --enable-shared --enable-pthread --disable-install-doc --with-opt-dir=/usr/local/lib
4make
5make install 

 

 

完成后使用 ruby --version测试版本信息,如果一切正常,应该能显示具体的版本信息了。

二、安装rails框架

说ruby开发速度快,主要还是因为ruby on rails这个框架,比较好的体现了MVC模式以及“约定胜于配置”原则,以至于后来的asp.net mvc都从中吸取了不少精华。

1,更新gem源 gem update

2,修改gem源服务器信息 
gem sources --remove http://rubygems.org/ 
淘宝提供的gem镜像,解决源文件部署在amazon S3上在国内访问的问题 

gem sources -a http://ruby.taobao.org gem sources -l 
确保只有淘宝的源 

gem install rails 

3,安装sqlite: 

tar -zxf sqlite-autoconf-3070900.tar.gz 
cd sqlite-autoconf-3070900 
./configure 
make 
make install

三、测试rails

rails new testapp

cd testapp

rails server

 

当执行到rails server这步时,提示失败,需要执行bundle install 执行bundle install成功。 再次执行rails server,但还是失败,提示缺少javascript的runtime 按照错误提示安装execjs: gem install execjs 再次执行rails server,仍然失败,提示错误:ExecJS::RuntimeUnavailable,看来还是没有解决。 从网上搜了下解决方案:安装node.js,因node.js本身是基于google chrome的V8引擎,所以应该是带有javascript的runtime的,正好最近也想学下node.js。

wget http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz 

tar xfv node-v0.10.5.tar.gz 

cd node-v0.10.5 

./configure 

make 

make install

 

 server,如果如下图所示:

则可以通过http://yourhost:3000来访问,会出现一个ruby的demo站点。

  

到此ruby on rails的demo站点搭建完成,接下来就该开始更深一步的学习了,好吧,就从链接数据库开始...

版权声明

 
Linux
 
大项目总结
sso

网页跳转的方式的sso,退出登录的实现会麻烦一点.一开始,我们是在portal站点那里,把所有应用程序的退出都放在portal的退出页面.从实现各个子站点的退出.但后来发现,有时候有些子站点,退不出来.所以后面,我们就改用统一的处理方式,然后ajax统一处理推出.

  其实退出也很简单,就是清理该清理的凭证就行了.我们当时做了一个httphander处理,代码如下.

 1 public class LoginoutHandler : IHttpHandler {
 2     
 3     public void ProcessRequest (HttpContext context) {
 4         try
 5         {
 6             context.Session.Clear();
 7             context.Response.Cookies.Clear();
 8             context.Response.Write("<msg>1</msg>");
 9         }
10         catch
11         {
12             context.Response.Write("<msg>0</msg>");
13         }
14       
15         
16             
17             
18     }
19  
20     public bool IsReusable {
21         get {
22             return false;
23         }
24     }
25 
26 }

      关于这个退出,我们也2个方案.一个方案是把所有子站点,通过配置文件的方式保存起来,然后portal退出时,调用所有子站点的退出.但这方案存在2个问题,一是退出时间会比较长.二是退出比较麻烦.每增加一个站点,都增加一个配置. 后面改用另外一种方案. 就是在单点登录跳转中心,记录所有用户曾经跳转过的站点. 然后在站点退出时,调用曾经跳转过的站点的退出接口,而达到统一退出.

     在这里补充一下,因为我们项目模块比较多,一开始经常出现由于某个模块的部署出问题,导致整个potal站点都出问题了.所以后面我们采去iis应用程序部署方案.每一个模块的dll都独立,从而达到互不影响. 但这也造成不少的问题,主要如下,一个是缓存不共享(当时用的企业库的,后来我们采去另外一个缓存组件很好解决了这个问题,将在后面介绍),二是session不共享,因此退出时必须要掉用该模块的退出.

    好,各位,关于单点登录,我就介绍到这里. 

     接下来我将会向大家介绍一下,如何通过url传参数,来解决 window.showModalDialog夸域的技术,从而轻松实现资源共享.希望会对曾经碰到过类似问题的网友有帮助.

 

 登录代码请看 http://www.cnblogs.com/jake1/archive/2013/04/28/sso_code.html

 登录设计请看 http://www.cnblogs.com/jake1/archive/2013/04/28/sso_page.html

 

其实很早就想做一个ruby的demo了,主要还是受到一个前同事的影响,说ruby的开发速度是.net的十倍,或许夸张了点,但也不无道理。不管怎样,亲身体验才是最重要的。言归正传,以下是如何搭建基本的ruby开发环境的step by setp记录,适合beginner。

一、准备环境 首先是需要在电脑上安装ruby的开发环境。我的OS是Cent OS 6.2 有以下三种方式来进行安装:

  • 获取源码进行编译安装
  • 使用第三方工具(例如:RVM、RubyInstaller【适合windows】)
  • 使用包管理工具

可根据自己的情况选择合适的安装形式,推荐使用1或者2,第三种包管理工具带的ruby版本相对比较旧了,不推荐。

我选择了获取源码编译安装的方式,开始之前,还需要安装相关的库:

1,安装相关的库 
yum install zlib zlib-devel sqlite-devel

2,安装openssl
rvm pkg install openssl

具体操作步骤:

1wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0.tar.gz
2tar -zxvf ruby-2.0.0.tar.gz
3,./configure --prefix=/usr/local --enable-shared --enable-pthread --disable-install-doc --with-opt-dir=/usr/local/lib
4make
5make install 

 

 

完成后使用 ruby --version测试版本信息,如果一切正常,应该能显示具体的版本信息了。

二、安装rails框架

说ruby开发速度快,主要还是因为ruby on rails这个框架,比较好的体现了MVC模式以及“约定胜于配置”原则,以至于后来的asp.net mvc都从中吸取了不少精华。

1,更新gem源 gem update

2,修改gem源服务器信息 
gem sources --remove http://rubygems.org/ 
淘宝提供的gem镜像,解决源文件部署在amazon S3上在国内访问的问题 

gem sources -a http://ruby.taobao.org gem sources -l 
确保只有淘宝的源 

gem install rails 

3,安装sqlite: 

tar -zxf sqlite-autoconf-3070900.tar.gz 
cd sqlite-autoconf-3070900 
./configure 
make 
make install

三、测试rails

rails new testapp

cd testapp

rails server

 

当执行到rails server这步时,提示失败,需要执行bundle install 执行bundle install成功。 再次执行rails server,但还是失败,提示缺少javascript的runtime 按照错误提示安装execjs: gem install execjs 再次执行rails server,仍然失败,提示错误:ExecJS::RuntimeUnavailable,看来还是没有解决。 从网上搜了下解决方案:安装node.js,因node.js本身是基于google chrome的V8引擎,所以应该是带有javascript的runtime的,正好最近也想学下node.js。

wget http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz 

tar xfv node-v0.10.5.tar.gz 

cd node-v0.10.5 

./configure 

make 

make install

 

 server,如果如下图所示:

则可以通过http://yourhost:3000来访问,会出现一个ruby的demo站点。

  

到此ruby on rails的demo站点搭建完成,接下来就该开始更深一步的学习了,好吧,就从链接数据库开始...


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Ruby]ci_reporter生成JUnit格式的XML输出发布时间:2022-07-18
下一篇:
ruby正则表达式匹配中文发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap