相关疑难解决方法(0)

使用CAS或OAuth进行SSO?

我想知道是否应该使用CAS协议或OAuth +某些身份验证提供程序进行单点登录.

示例场景:

  1. 用户尝试访问受保护资源,但未经过身份验证.
  2. 应用程序将用户重定向到SSO服务器.
  3. 如果通过身份验证,则用户从SSO服务器获取令牌.
  4. SSO重定向到原始应用程序.
  5. 原始应用程序根据SSO服务器检查令牌.
  6. 如果令牌没问题,将允许访问,并且应用程序知道用户ID.
  7. 用户执行注销并同时从所有连接的应用程序注销(单点注销).

据我所知,这正是CAS发明的.CAS客户端必须实现CAS协议才能使用身份验证服务.现在我想知道在客户(消费者)网站上使用CAS或OAuth.OAuth是CAS的那部分的替代品吗?OAuth作为新的事实上的标准应该优先考虑吗?是否有一个易于使用的(不是Sun的OpenSSO!)更换为CAS支持不同的方法,如用户名/密码,OpenID的,TLS certifactes认证部...?

语境:

  • 不同的应用程序应该依赖于SSO服务器的身份验证,并且应该使用类似会话的东西.
  • 应用程序可以是GUI Web应用程序或(REST)服务.
  • SSO服务器必须提供用户标识,这是从中央用户信息存储获取有关用户的更多信息(如角色,电子邮件等)所必需的.
  • 单签出应该是可能的.
  • 大多数客户端都是用Java或PHP编写的.

我刚刚发现WRAP,它可能成为OAuth的继任者.这是微软,谷歌和雅虎指定的新协议.

附录

我了解到OAuth不是为验证而设计的,即使它可用于实现SSO,但只能与OpenID等SSO服务一起使用.

OpenID在我看来是"新CAS".CAS具有OpenID未命中的一些功能(如单点注销),但在特定场景中添加缺失部分并不困难.我认为OpenID已被广泛接受,最好将OpenID集成到应用程序或应用程序服务器中.我知道CAS也支持OpenID,但我认为CAS对OpenID来说是可有可无的.

security cas oauth single-sign-on

177
推荐指数
5
解决办法
7万
查看次数

单个登录跨多个域

我们公司设有多个域,每个域上都有一个网站.此时,每个域都有自己的身份验证,通过cookie完成.

当登录到一个域的某个人需要访问另一个域的任何内容时,用户需要使用位于另一个域的另一个网站上的不同凭据再次登录.

我正在考虑转向单点登录(SSO),这样就可以消除这种麻烦.我很感激有关如何实现这一点的任何想法,因为我在这方面没有任何经验.

谢谢.

编辑: 网站是互联网(外部)和内部网(公司内部使用)网站的混合.

authentication single-sign-on

106
推荐指数
4
解决办法
8万
查看次数

集成/迁移两个CodeIgniter应用程序.

我在CodeIgniter中开发了两个应用程序,两个都在单独的服务器上工作,即

www.CI_App_1.com

www.CI_App_2.com

现在,我要整合CI_App_2CI_App_1应用程序,所以以后我能够调用default_controllerCI_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方法

CodeIgniter:在控制器内加载控制器

如何从codeigniter中的另一个控制器加载控制器?

Codeigniter:从其他人调用一个控制器的方法

http://www.techsirius.com/2013/01/load-controller-within-another.html

https://www.quora.com/Can-I-call-a-controller-function-that-resides-in-another-controller-in-CodeIgniter

http://www.devnetwork.net/viewtopic.php?f=72&t=131353

如何设置在同一服务器上运行的两个codeigniter应用程序

https://www.codeigniter.com/user_guide/general/managing_apps.html

但是在上面的链接中他们说它应该使用HMVC模块结构来完成,但没有提到两个控制器文件来自相同的应用程序或不同.我想default_controller从第二个应用程序访问第一个应用程序.

可能吗 ?

任何形式的帮助表示赞赏.提前致谢.希望你有我的问题.

php .htaccess codeigniter url-routing

16
推荐指数
1
解决办法
345
查看次数