我想知道是否应该使用CAS协议或OAuth +某些身份验证提供程序进行单点登录.
示例场景:
据我所知,这正是CAS发明的.CAS客户端必须实现CAS协议才能使用身份验证服务.现在我想知道在客户(消费者)网站上使用CAS或OAuth.OAuth是CAS的那部分的替代品吗?OAuth作为新的事实上的标准应该优先考虑吗?是否有一个易于使用的(不是Sun的OpenSSO!)更换为CAS支持不同的方法,如用户名/密码,OpenID的,TLS certifactes认证部...?
语境:
我刚刚发现WRAP,它可能成为OAuth的继任者.这是微软,谷歌和雅虎指定的新协议.
附录
我了解到OAuth不是为验证而设计的,即使它可用于实现SSO,但只能与OpenID等SSO服务一起使用.
OpenID在我看来是"新CAS".CAS具有OpenID未命中的一些功能(如单点注销),但在特定场景中添加缺失部分并不困难.我认为OpenID已被广泛接受,最好将OpenID集成到应用程序或应用程序服务器中.我知道CAS也支持OpenID,但我认为CAS对OpenID来说是可有可无的.
我们公司设有多个域,每个域上都有一个网站.此时,每个域都有自己的身份验证,通过cookie完成.
当登录到一个域的某个人需要访问另一个域的任何内容时,用户需要使用位于另一个域的另一个网站上的不同凭据再次登录.
我正在考虑转向单点登录(SSO),这样就可以消除这种麻烦.我很感激有关如何实现这一点的任何想法,因为我在这方面没有任何经验.
谢谢.
编辑: 网站是互联网(外部)和内部网(公司内部使用)网站的混合.
我在CodeIgniter中开发了两个应用程序,两个都在单独的服务器上工作,即
www.CI_App_1.com
和
www.CI_App_2.com
现在,我要整合CI_App_2到CI_App_1应用程序,所以以后我能够调用default_controller的CI_App_2从环节之一CI_App_1.
我的文件夹结构:
htdocs :
-application_1
-application
-application_2
-application
-config
-autoload.php
-config.php
-routes.php
-controllers
-app_2_controller.php
-helpers
-libraries
-models
-app_2_model.php
-views
-app_2_view.php
-system
-.htaccess
-index.php
-config
-autoload.php
-config.php
-routes.php
-controllers
-app_1_controller.php
-helpers
-libraries
-models
-app_1_model.php
-views
-app_1_view.php
-system
-.htaccess
-index.php
Run Code Online (Sandbox Code Playgroud)
我希望在用户加入后访问CI_App_2 CI_App_1.验证过程后,用户只能访问我的CI_App_2,如果用户尝试访问它而不进行身份验证,则会收到一条错误消息:
访问被禁止
我提到以下链接:
在Application目录外调用CodeIgniter的Controller方法
http://www.techsirius.com/2013/01/load-controller-within-another.html
http://www.devnetwork.net/viewtopic.php?f=72&t=131353
如何设置在同一服务器上运行的两个codeigniter应用程序
https://www.codeigniter.com/user_guide/general/managing_apps.html
但是在上面的链接中他们说它应该使用HMVC模块结构来完成,但没有提到两个控制器文件来自相同的应用程序或不同.我想default_controller从第二个应用程序访问第一个应用程序.
可能吗 ?
任何形式的帮助表示赞赏.提前致谢.希望你有我的问题.