0 0

cas访问授权控制的问题5

各位好,a应用和b应用都使用cas实现单点登录,本来按道理,登陆了a就相当于登陆了b了,现在项目需要实现如下需求,b应用访问是需要授权的,用户从a登陆上来了以后,访问b应用的时候,还需要看是否有使用权限,目前我的解决思路是可以从服务端和应用端去解决这个需求,应用端不说了,很容易,服务端请问下大家有什么好的思路吗?我遇到的问题是1:该在哪里加这个控制,2:cas访问数据库是不是要自己写访问类,cas似乎没有提供。谢谢。。这里spring security能派上用场吗?
2013年4月16日 11:04

6个答案 按时间排序 按投票排序

0 0

  关于访问控制分为两个主题: 认证和授权.

  (1) CAS可以看成是认证. 所以和授权没有很大的关系. 它仅仅为授权提供授权主体

  (2) 授权: 根据主体的角色或者身份, 为其提供相应的权限. 在Java中有一下可以选择:
   a) 自己实现Filter, 把授权的逻辑放在Filte中. 做得尽量可配置化
   b) 借用第三方安全框架. 比如Spring security.
   c) 如果是大型公司, 授权逻辑负责. 可以做一个通用的产品来进行授权. 接入方式还是Filter.


   PS:常用权限模型 ACL, RBAC

2013年4月19日 00:39
0 0

先说一下cas的流程:用户访问b,b应用发现该用户没有登录,此时被重定向到cas登录中心,登录完成之后(如果之前有过登录则不用登录,直接被重定向回b),带上授权令牌,被重定向到b,b拿令牌向cas登录中心获取用户信息,获取成功则登录成功;否则登录失败。
像你这种需求可以再b拿令牌到cas中心换取用户信息的时候去鉴定权限,如果用户不具备访问b系统的权限,则不返回用户信息。你试试。

2013年4月17日 09:47
0 0

我感觉就是个权限管理,在里面加一条数据,做个判断就行了

2013年4月16日 14:18
0 0

我的思路:
1.建立一个应用配置字典及应用的权限表,把应用作为被授权的资源。
如:应用表:应用id、应用名称;
2.springsecurity认证过程向CAS跳转的时候,携带本身应用id
3.在cas的登录界面中,隐藏这个应用id,随账号、密码一起提交
4.自定义cas的Credentials接口,根据账号、应用id进行授权处理。并添加到cas的配置文件中。
5.对应的增加自定义cas的CredentialsToPrincipalResolver、Validator接口
……扩展的地方还是挺多的,需要的话,私信我,我把以前扩展的代码共享给你

2013年4月16日 13:58
0 0

跟cas无关
我以前做的是:
1、写一个权限应用 就是只做N个应用权限认证的
2、写一个权限应用的客户端(jar包) 然后客户只需要引入jar包 添加相应的过滤器即可(这种就是比较麻烦)

使用cas登录到某一应用时  此应用肯定也有个用户模型 给他加权限即可

简单的做法还是需要在每个应用去做自己的权限认证 如使用你说的spring security  shiro等验证框架 与cas无关了

2013年4月16日 12:08
0 0

cas做的事情仅仅是认证,不做授权的。所以肯定在应用侧做授权控制。既然你用到了springsecurity,那么cas认证成功返回到应用侧,这时候你访问业务模块,如果授权不成功,直接提示“没有访问模块的权限”这样的信息。如果你的需求是整个B系统都需要授权才能访问,那么在B系统做一个自定义的filter,放到springsecurity的filter链中,统一控制就行了啊

2013年4月16日 11:15

相关推荐

    CAS 协议 票据、url介绍,包括cas1.0和cas2.0

    * 授权:CAS 协议可以对用户进行授权,控制用户的访问权限。 CAS 协议的应用场景 CAS 协议可以应用于以下场景: * 单点登录(SSO) * 身份验证 * 授权 * 代理身份验证 * 服务凭证 结论 CAS 协议是一个功能强大...

    搭建cas服务,cas与sqlserver连接,cas与security连接

    5. **测试安全功能**:启动应用,尝试访问受保护的资源,确保CAS和Spring Security能协同工作,提供正确的授权和身份验证。 以上就是搭建CAS服务、与SQL Server连接以及与Spring Security集成的基本步骤。在实际...

    cas集成AD域

    2. **配置AD连接**:在CAS服务器的配置文件中(如cas.properties或applicationContext-ldap.xml),需要添加AD服务器的相关信息,包括域控制器的地址、端口、域名以及用于连接AD的管理员账户。 3. **配置AD域验证**...

    cas +shiro集成

    CAS主要用于集中式身份验证,而Shiro则更专注于应用内部的安全管理,如授权、会话管理和安全控制。将两者集成,可以构建出一套强大的安全管理体系。 CAS是一个开源的单点登录(Single Sign-On,SSO)协议实现,它...

    CAS+Shiro实现认证授权

    4. **授权管理**:Shiro负责应用内的权限管理,如角色分配、资源访问控制等。一旦用户通过CAS认证,Shiro可以通过Realm获取用户的角色和权限信息,进行授权判断。 5. **单点登出(Single Logout, SLO)**:当用户...

    springboot+security+cas集成demo

    4. **处理认证和授权**:当用户访问受保护的资源时,Spring Security会重定向到CAS服务器进行身份验证。成功后,CAS返回一个服务票据,Spring Security会用这个票据向CAS服务器换取用户票据,进而完成认证。授权则...

    基于springboot,cas5.3,shiro,pac4j,rest接口获取ticket不再跳转cas server登录页

    在现代企业级应用程序开发中,安全访问控制是至关重要的。本文将深入探讨如何利用Spring Boot、CAS 5.3、Shiro、Pac4J这四个强大的工具来构建一个高效且用户友好的REST接口,以获取CAS(Central Authentication ...

    springboot+cas5.x+shiro+pac4j实现sso集成

    总结来说,这个项目展示了如何利用SpringBoot的灵活性、CAS的SSO功能、Shiro的安全控制和Pac4j的协议适配,实现一个高效且易于维护的SSO解决方案。对于想了解或实践SSO的开发者来说,这是一个有价值的参考实例。

    cas4.0.7+casClient示例(原生)

    CAS 4.0.7是CAS服务器的一个稳定版本,它提供了认证、授权和票证验证等核心功能。此版本支持多种协议,如CAS 2.0/3.0、SAML 1.1和OpenID。CAS服务器可以通过服务注册中心管理各个应用的接入,允许用户在一个地方登录...

    cas结合 springmvc shiro 单点登录

    4. **SpringMVC中的拦截器**:在SpringMVC中,我们可以使用拦截器(Interceptor)来处理SSO的相关逻辑,比如在用户访问受保护的资源时,检查是否已经通过CAS认证,如果没有,则重定向到CAS登录页面。 5. **登录与...

    CAS的ASP.NET客户端配置及验证

    4. **页面和控制器的授权**:在ASP.NET MVC中,可以使用 `[Authorize]` 特性来限制只有经过CAS验证的用户才能访问某些控制器或视图。 5. **处理CAS票证**:CAS会通过查询字符串参数`ticket`将票证传递给你的应用。`...

    cas-server4.0

    - CAS服务器4.0的核心功能是用户认证,它能验证用户凭据(如用户名和密码)来确保只有授权用户才能访问受保护的资源。 - 支持多种认证机制,如数据库、LDAP目录服务、活动目录等,可以根据组织的实际情况选择合适...

    Yelu 大学 cas 单点登录

    4. 授权管理:根据用户角色和权限,实现权限控制逻辑。 5. 服务注册:在CAS服务器上注册Web应用作为服务,获取服务ID。 **4. CAS服务器部署** 部署`cas-server-2.0.12`可能涉及到以下步骤: 1. 解压文件:将...

    集成cas实现单点登录认证.zip

    6. CAS扩展性:除了基本的SSO功能,CAS还提供了许多可扩展的功能,如MFA(多因素认证)、审计日志、API访问控制等,可以根据业务需求进行定制。 7. 测试与调试:集成完成后,你需要进行详尽的测试,确保在各种情况...

    cas单点登录配置及资源

    - 权限问题:用户无法访问特定服务,可能是因为CAS权限控制未正确配置,应检查服务定义和授权策略。 6. **jar包和war包** - jar包:包含CAS服务器运行所需的库,如Apache HttpClient、Spring Security等。 - war...

    CAS 原理讲解

    ### CAS原理讲解 ...CAS不仅是一种高效的单点登录解决方案,也是现代网络环境下实现统一身份认证与访问控制的重要手段。通过理解CAS的工作原理及其实现机制,可以帮助组织机构更好地管理和保护其数字资产。

    前后端分离集成cas

    CAS是一个开源的身份验证协议,允许用户在一个域内登录后,无需再次认证就能访问其他系统。这样可以提升用户体验,同时简化安全管理。在Spring Boot应用中集成CAS,需要配置CAS客户端,处理CAS服务返回的令牌,完成...

    条件接收系统CAS DVB-CAS

    例如,对于直播节目,CAS可以通过实时授权控制来管理用户访问;而对于点播服务,则可能采用预授权机制。 ##### 7. 机卡分离 机卡分离是指智能卡与接收设备物理上分离的一种技术方案,用户可以在不同的接收设备上...

    cas+shiro客户端源码

    将CAS的认证结果与Shiro的授权结合,通常在CAS验证成功后,会将用户的认证信息(如用户名、票证)传递给Shiro,Shiro再通过Realm从数据源中获取用户的角色和权限信息。这样,Shiro就可以根据这些信息进行权限控制,...

    分布式架构单点登录+授权认证实战 CAS+SpringSecurity视频

    在"19.SpringSecurity集成CAS.avi"中,会讲解如何将CAS与SpringSecurity整合,利用SpringSecurity的强大功能来实现更精细的权限控制和访问决策。 综上所述,本套视频教程通过实践操作,系统地介绍了分布式架构下SSO...

Global site tag (gtag.js) - Google Analytics