这是我们想要的高级别。
我的要求,
客户应该可以使用现有用户名/密码访问我的应用程序。
我的客户应该能够为我提供他们的用户角色,并在此基础上我将管理服务器中的资源授权。
客户端将共享数据库。 (多租户)。
我遇到的OAuth 2.0示例是利用Facebook / Google等身份验证服务器,用户可以通过google或facebook帐户登录。 我不希望我的客户能够使用他们自己的帐户登录。
就CAS身份验证服务器而言,它会将用户引导至自己的登录页面。
我正在寻找一种标准方式,在这里我可以使用spring安全性并允许我的客户在用户上单独签名他们自己的凭据。任何参考资料都会有很大的帮助。谢谢。
答案 0 :(得分:2)
如前所述,CAS是一个Web SSO,因此您需要通过它自己的身份验证页面才能使SSO正常运行。有许多方法可以使CAS使用您的身份验证持久性系统(在我的项目中,我通常使用JPA,因为我的客户有许多仅基于关系数据库持久性的旧应用程序)。 在您的项目中,我认为您可以设置CAS以使用您的应用程序身份验证方法,而您的应用程序可以直接指向CAS进行身份验证。我的意思是您的应用程序也应该使用CAS进行单点登录,因此用户只需输入一次凭据即可。最后,您可以自定义CAS主题,以获得与您的应用程序布局相同的登录和错误页面(您甚至可以在iframe中加载CAS登录页面,然后如果要将其集成到您的webapp中,则会成功重新加载您的应用程序页面)
如果我理解你所写的内容,你希望它以这种方式表现:
但是"容易"工作流程的解释是:
答案 1 :(得分:0)
CAS是一个Web SSO,因此您可以在多个Web应用程序中共享用户身份,而Spring Security是一个很好的CAS客户端。 您还可以启用CAS服务器将身份验证委派给Facebook或Google。 我们的想法是让您的CAS服务器对您的用户进行身份验证并获取他们的个人资料,然后将其推送到Web应用程序。
答案 2 :(得分:0)
我认为CAS提供了一个REST API。
如果可以用于登录,那么各种应用程序可以显示自己的登录界面并将用户名/密码发送给CAS。