Spring Security中Realm的含义是什么?

23

在我的应用程序中,我使用Spring Security,我只想知道HTTP配置中的"realm"是什么意思。

2个回答

15

Realm(领域)是一个凭证存储库,用于启用基于身份或角色的访问控制。

Java文档

什么是realm?

对于Web应用程序,realm是一个完整的用户和组数据库,用于标识Web应用程序(或一组Web应用程序)的有效用户,并由相同的认证策略控制。

Java EE服务器认证服务可以管理多个realm中的用户。在此版本的应用服务器中,文件、admin-realm和证书realm预配置为应用服务器。

在文件realm中,服务器通过在名为keyfile的文件中本地存储用户凭据来存储用户凭据。您可以使用管理控制台来管理文件realm中的用户。

在使用文件realm时,服务器认证服务通过检查文件realm来验证用户身份。除了使用HTTPS协议和证书的Web浏览器客户端外,该领域用于所有客户端的身份验证。

在证书realm中,服务器将用户凭据存储在证书数据库中。当使用证书realm时,服务器使用带有HTTPS协议的证书来验证Web客户端。为了验证证书领域中用户的身份,认证服务会验证X.509证书。有关创建此类型证书的逐步说明,请参阅使用数字证书。X.509证书的公共名称字段用作主体名称。

admin-realm也是一个FileRealm,它将管理员用户凭据本地存储在名为admin-keyfile的文件中。您可以像管理文件realm中的用户一样使用管理控制台来管理此领域中的用户。有关更多信息,请参见在应用服务器上管理用户和组。


谢谢您的解释。<BR>我想要的是,让用户同时登录两个账户。据我理解,我可以创建2个或更多领域,并让用户使用不同的领域进行访问,然后他可以在一个浏览器中使用不同的账户。但是,我该如何为用户的请求设置这个领域呢?顺便说一下,我使用的是Spring MVC和Spring Security。 - Mavlarn

2
一个领域是为网络或应用服务器定义的安全策略域。一个领域包含一组用户,这些用户可能被分配到一个或多个组中。
一个领域是为网络或应用服务器定义的安全策略域。服务器上受保护的资源可以被划分为一组保护空间,每个空间都有自己的身份验证方案和/或授权数据库,其中包含一组用户和组。对于一个Web应用程序,领域是一个完整的用户数据库,被识别为Web应用程序或一组Web应用程序的有效用户,并由相同的身份验证策略进行控制。Java EE服务器身份验证服务可以管理多个领域。
参考链接:https://docs.oracle.com/cd/E19798-01/821-1841/bnbxk/index.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接