📜  中央认证服务

📅  最后修改于: 2022-05-13 01:57:01.175000             🧑  作者: Mango

中央认证服务

中央身份验证服务是一种单点登录协议,旨在允许用户使用相同的底层身份验证服务访问多个应用程序。最主要的是身份验证过程只能在 CAS 服务器上进行,这意味着使用 CAS 进行身份验证的应用程序永远不会看到用户的凭据。 CAS 还允许各种应用程序在无法访问用户安全凭证的情况下对用户进行身份验证。 CAS 进程具有三个主要部分,即客户端 Web 浏览器、请求身份验证的 Web 应用程序和 CAS 服务器,但它可能具有提供后端服务并与 Web 应用程序通信的数据库服务器。

中央认证服务的工作:

一个客户端访问一个寻求身份验证的 Web 应用程序,Web 应用程序自动将其重定向到 CAS,然后通过根据数据库检查用户名和密码等凭据,CAS 验证客户端的真实性,然后在整个过程之后,如果身份验证过程成功 CAS使用安全票将客户端返回给应用程序。然后,Web 应用程序通过联系 CAS 来验证票证,CAS 反过来会提供有关用户是否成功通过身份验证的信息。

CAS的步骤:

  • Web 应用程序将用户重定向到 CAS 服务器登录。
  • 登录过程完成后,CAS 服务器依次将用户带到带有安全票证的 Web 应用程序。
  • 现在,Web 应用程序向 CAS 服务器发送请求以验证服务票证。
  • 如果服务票证有效,则知道用户已成功验证。

在 Web 应用程序和网站中使用 CAS 身份验证:

开发任何需要身份验证的网站都必须使用 CS CAS 服务器或 OIT CAS 服务器。通常,CS CAS 服务器为开发人员提供了优势。如果没有 CS 帐户,可以使用 OIT CAS 服务器。这里最重要的是可以在构建 Web 应用程序或任何网站时使用任何服务器,因为不知何故,它们都具有相同的功能和协议,只是 URL 发生了变化。

有多种客户端库可用于使用 CAS 进行身份验证。例如,在PHP中有 phpCAS 库,对于Python,包括 Django 和 Flask,有一个 python-cas 库,除此之外它还有许多其他用于各种语言的库。

Central Authentication Service 与 Authentication and Authorization 的关系如何:

这是与 CAS 相关的两件事,CAS 对用户进行身份验证,但可能不会授权他们,因为授权特定于每个应用程序。当任何用户尝试使用 CAS 进入 Web 应用程序时,Web 应用程序会收到用户的 Net ID,这意味着您的应用程序拥有登录用户的信息。

现在有了这个网络 ID,就可以验证用户是否被授权执行操作。应用程序必须使用 Net ID 维护列表,以区分可以更新列表的黑白用户,这意味着这些用户已获得授权,而无法更新或编辑列表的用户则意味着这些用户未获得授权。