我必须构建集中身份验证和授权服务。我正在尝试使用JASIG CAS。但它提到了它的身份验证协议。我的方案如下。
此时我需要在我的本地jdbc商店中验证用户是否启用了用户,如果还没有注册用户,并且电子邮件域是abc.com我需要自动注册用户。
我的服务执行validateService api调用。我想从CAS
的结果响应中获取所请求服务的用户权限
这种情况是否可以通过CAS实现,如果CAS可以扩展,有人可以建议如何做,基本上我需要修改的类
答案 0 :(得分:1)
这种情况是否可以通过CAS实现
Jasig CAS具有高度可定制性,因为它采用弹簧框架和弹簧安全构建,您可以根据自己的需要进行扩展。
基本上我需要修改的类
您感兴趣的课程是:
PolicyBasedAuthenticationManager
进入认证子系统的入口点。它接受一个或多个 凭据和委派身份验证配置
AuthenticationHandler
个组件。它收集每个的结果 尝试并确定有效的安全政策。
AuthenticationHandler
验证单个凭据并报告三种可能的凭据之一 结果:成功,失败,没有尝试。
PrincipalResolver
将身份验证凭据中的信息转换为安全性 通常包含其他元数据属性的主体(即 用户详细信息,例如从属关系,组成员身份,电子邮件,显示 名称)。
Jasig CAS很好documented。你应该能够找到你需要的所有信息。