扩展JASIG CAS以进行授权

时间:2016-02-13 08:41:38

标签: java spring spring-security cas jasig

我必须构建集中身份验证和授权服务。我正在尝试使用JASIG CAS。但它提到了它的身份验证协议。我的方案如下。

  1. 我的应用程序在第一次访问时重定向到cas服务器。
  2. CAS重定向用户进行Google身份验证
  3. 用户使用所需的电子邮件登录并重定向回CAS
  4.   

    此时我需要在我的本地jdbc商店中验证用户是否启用了用户,如果还没有注册用户,并且电子邮件域是abc.com我需要自动注册用户。

  5. CAS重定向到呼叫服务
  6.   

    我的服务执行validateService api调用。我想从CAS

    的结果响应中获取所请求服务的用户权限
  7. 这种情况是否可以通过CAS实现,如果CAS可以扩展,有人可以建议如何做,基本上我需要修改的类

1 个答案:

答案 0 :(得分:1)

  

这种情况是否可以通过CAS实现

Jasig CAS具有高度可定制性,因为它采用弹簧框架和弹簧安全构建,您可以根据自己的需要进行扩展。

  

基本上我需要修改的类

您感兴趣的课程是:

  • PolicyBasedAuthenticationManager
  

进入认证子系统的入口点。它接受一个或多个   凭据和委派身份验证配置   AuthenticationHandler个组件。它收集每个的结果   尝试并确定有效的安全政策。

  • AuthenticationHandler
  

验证单个凭据并报告三种可能的凭据之一   结果:成功,失败,没有尝试。

  • PrincipalResolver
  

将身份验证凭据中的信息转换为安全性   通常包含其他元数据属性的主体(即   用户详细信息,例如从属关系,组成员身份,电子邮件,显示   名称)。

Jasig CAS很好documented。你应该能够找到你需要的所有信息。