3

请指导我了解以下内容以及我应该使用哪种技术来实现最佳实施:

  1. 我们拥有多少种授权/安全类型,哪一种是最好的。
  2. 我们如何实现基于角色的安全性。
  3. 是否同样适用于 Restful 服务。
4

1 回答 1

1

第一个问题可以用两种方式解释。首先,您要求一种身份验证方法,即客户端和服务器之间的协议。这里有两个:

  • BASIC AUTH - 客户端在请求中以纯文本形式发送用户名和密码。如果您正在制作内部服务(在您的公司网络内)或有一个加密通道(HTTPS),这可以正常工作。
  • KERBEROS - 这在 Windows 世界中运行良好,一切都由 Active Directory 控制。但是,如果您尝试将其带到 java 中,那么您就是在做噩梦。

其次,您可能需要一个处理安全性的 java 框架。例如,这可以是弹簧安全性。Spring security 将自己定位在您的服务前面的过滤器链中。如果请求(例如使用 BASIC_AUTH)被允许通过,否则不会。Spring security 可以配置为以多种方式查找用户,数据库、您自己的代码、ldap(和活动目录)。

第二个问题。Spring 安全处理角色非常好。我总是让我的 Intranet 应用程序依赖于我的应用程序通过 LDAP 从 AD 获取的角色。控制用户访问功能所需的角色非常容易。有点像这样:

@Secured("ROLE_ADMIN")

第三个问题。这取决于您的宁静服务框架,但很可能,是的,同样适用。

于 2013-08-13T11:36:45.307 回答