-
cas访问授权控制的问题5
各位好,a应用和b应用都使用cas实现单点登录,本来按道理,登陆了a就相当于登陆了b了,现在项目需要实现如下需求,b应用访问是需要授权的,用户从a登陆上来了以后,访问b应用的时候,还需要看是否有使用权限,目前我的解决思路是可以从服务端和应用端去解决这个需求,应用端不说了,很容易,服务端请问下大家有什么好的思路吗?我遇到的问题是1:该在哪里加这个控制,2:cas访问数据库是不是要自己写访问类,cas似乎没有提供。谢谢。。这里spring security能派上用场吗?2013年4月16日 11:04
6个答案 按时间排序 按投票排序
-
关于访问控制分为两个主题: 认证和授权.
(1) CAS可以看成是认证. 所以和授权没有很大的关系. 它仅仅为授权提供授权主体
(2) 授权: 根据主体的角色或者身份, 为其提供相应的权限. 在Java中有一下可以选择:
a) 自己实现Filter, 把授权的逻辑放在Filte中. 做得尽量可配置化
b) 借用第三方安全框架. 比如Spring security.
c) 如果是大型公司, 授权逻辑负责. 可以做一个通用的产品来进行授权. 接入方式还是Filter.
PS:常用权限模型 ACL, RBAC2013年4月19日 00:39
-
先说一下cas的流程:用户访问b,b应用发现该用户没有登录,此时被重定向到cas登录中心,登录完成之后(如果之前有过登录则不用登录,直接被重定向回b),带上授权令牌,被重定向到b,b拿令牌向cas登录中心获取用户信息,获取成功则登录成功;否则登录失败。
像你这种需求可以再b拿令牌到cas中心换取用户信息的时候去鉴定权限,如果用户不具备访问b系统的权限,则不返回用户信息。你试试。2013年4月17日 09:47
-
我的思路:
1.建立一个应用配置字典及应用的权限表,把应用作为被授权的资源。
如:应用表:应用id、应用名称;
2.springsecurity认证过程向CAS跳转的时候,携带本身应用id
3.在cas的登录界面中,隐藏这个应用id,随账号、密码一起提交
4.自定义cas的Credentials接口,根据账号、应用id进行授权处理。并添加到cas的配置文件中。
5.对应的增加自定义cas的CredentialsToPrincipalResolver、Validator接口
……扩展的地方还是挺多的,需要的话,私信我,我把以前扩展的代码共享给你2013年4月16日 13:58
-
跟cas无关
我以前做的是:
1、写一个权限应用 就是只做N个应用权限认证的
2、写一个权限应用的客户端(jar包) 然后客户只需要引入jar包 添加相应的过滤器即可(这种就是比较麻烦)
使用cas登录到某一应用时 此应用肯定也有个用户模型 给他加权限即可
简单的做法还是需要在每个应用去做自己的权限认证 如使用你说的spring security shiro等验证框架 与cas无关了2013年4月16日 12:08
-
cas做的事情仅仅是认证,不做授权的。所以肯定在应用侧做授权控制。既然你用到了springsecurity,那么cas认证成功返回到应用侧,这时候你访问业务模块,如果授权不成功,直接提示“没有访问模块的权限”这样的信息。如果你的需求是整个B系统都需要授权才能访问,那么在B系统做一个自定义的filter,放到springsecurity的filter链中,统一控制就行了啊
2013年4月16日 11:15
相关推荐
* 授权:CAS 协议可以对用户进行授权,控制用户的访问权限。 CAS 协议的应用场景 CAS 协议可以应用于以下场景: * 单点登录(SSO) * 身份验证 * 授权 * 代理身份验证 * 服务凭证 结论 CAS 协议是一个功能强大...
5. **测试安全功能**:启动应用,尝试访问受保护的资源,确保CAS和Spring Security能协同工作,提供正确的授权和身份验证。 以上就是搭建CAS服务、与SQL Server连接以及与Spring Security集成的基本步骤。在实际...
2. **配置AD连接**:在CAS服务器的配置文件中(如cas.properties或applicationContext-ldap.xml),需要添加AD服务器的相关信息,包括域控制器的地址、端口、域名以及用于连接AD的管理员账户。 3. **配置AD域验证**...
CAS主要用于集中式身份验证,而Shiro则更专注于应用内部的安全管理,如授权、会话管理和安全控制。将两者集成,可以构建出一套强大的安全管理体系。 CAS是一个开源的单点登录(Single Sign-On,SSO)协议实现,它...
4. **授权管理**:Shiro负责应用内的权限管理,如角色分配、资源访问控制等。一旦用户通过CAS认证,Shiro可以通过Realm获取用户的角色和权限信息,进行授权判断。 5. **单点登出(Single Logout, SLO)**:当用户...
4. **处理认证和授权**:当用户访问受保护的资源时,Spring Security会重定向到CAS服务器进行身份验证。成功后,CAS返回一个服务票据,Spring Security会用这个票据向CAS服务器换取用户票据,进而完成认证。授权则...
在现代企业级应用程序开发中,安全访问控制是至关重要的。本文将深入探讨如何利用Spring Boot、CAS 5.3、Shiro、Pac4J这四个强大的工具来构建一个高效且用户友好的REST接口,以获取CAS(Central Authentication ...
总结来说,这个项目展示了如何利用SpringBoot的灵活性、CAS的SSO功能、Shiro的安全控制和Pac4j的协议适配,实现一个高效且易于维护的SSO解决方案。对于想了解或实践SSO的开发者来说,这是一个有价值的参考实例。
CAS 4.0.7是CAS服务器的一个稳定版本,它提供了认证、授权和票证验证等核心功能。此版本支持多种协议,如CAS 2.0/3.0、SAML 1.1和OpenID。CAS服务器可以通过服务注册中心管理各个应用的接入,允许用户在一个地方登录...
4. **SpringMVC中的拦截器**:在SpringMVC中,我们可以使用拦截器(Interceptor)来处理SSO的相关逻辑,比如在用户访问受保护的资源时,检查是否已经通过CAS认证,如果没有,则重定向到CAS登录页面。 5. **登录与...
4. **页面和控制器的授权**:在ASP.NET MVC中,可以使用 `[Authorize]` 特性来限制只有经过CAS验证的用户才能访问某些控制器或视图。 5. **处理CAS票证**:CAS会通过查询字符串参数`ticket`将票证传递给你的应用。`...
- CAS服务器4.0的核心功能是用户认证,它能验证用户凭据(如用户名和密码)来确保只有授权用户才能访问受保护的资源。 - 支持多种认证机制,如数据库、LDAP目录服务、活动目录等,可以根据组织的实际情况选择合适...
4. 授权管理:根据用户角色和权限,实现权限控制逻辑。 5. 服务注册:在CAS服务器上注册Web应用作为服务,获取服务ID。 **4. CAS服务器部署** 部署`cas-server-2.0.12`可能涉及到以下步骤: 1. 解压文件:将...
6. CAS扩展性:除了基本的SSO功能,CAS还提供了许多可扩展的功能,如MFA(多因素认证)、审计日志、API访问控制等,可以根据业务需求进行定制。 7. 测试与调试:集成完成后,你需要进行详尽的测试,确保在各种情况...
- 权限问题:用户无法访问特定服务,可能是因为CAS权限控制未正确配置,应检查服务定义和授权策略。 6. **jar包和war包** - jar包:包含CAS服务器运行所需的库,如Apache HttpClient、Spring Security等。 - war...
### CAS原理讲解 ...CAS不仅是一种高效的单点登录解决方案,也是现代网络环境下实现统一身份认证与访问控制的重要手段。通过理解CAS的工作原理及其实现机制,可以帮助组织机构更好地管理和保护其数字资产。
CAS是一个开源的身份验证协议,允许用户在一个域内登录后,无需再次认证就能访问其他系统。这样可以提升用户体验,同时简化安全管理。在Spring Boot应用中集成CAS,需要配置CAS客户端,处理CAS服务返回的令牌,完成...
例如,对于直播节目,CAS可以通过实时授权控制来管理用户访问;而对于点播服务,则可能采用预授权机制。 ##### 7. 机卡分离 机卡分离是指智能卡与接收设备物理上分离的一种技术方案,用户可以在不同的接收设备上...
将CAS的认证结果与Shiro的授权结合,通常在CAS验证成功后,会将用户的认证信息(如用户名、票证)传递给Shiro,Shiro再通过Realm从数据源中获取用户的角色和权限信息。这样,Shiro就可以根据这些信息进行权限控制,...
在"19.SpringSecurity集成CAS.avi"中,会讲解如何将CAS与SpringSecurity整合,利用SpringSecurity的强大功能来实现更精细的权限控制和访问决策。 综上所述,本套视频教程通过实践操作,系统地介绍了分布式架构下SSO...