Spring Acegi 安全性是否可以用于社交网络应用程序,用户可以将其安全首选项设置为仅与朋友共享数据?

Acegi 教程的常见场景是您想要授权每个用户角色的操作,但是授权用户查看特定数据(例如,仅查看他们朋友的数据)又如何呢?

是否可以使用 Acegi 来实现这一点?如何?

有帮助吗?

解决方案

简短回答:是的。

请注意,Acegi 现在是 春天, ,现在被称为 春季安全.

至于如何做到这一点,这是一个更加复杂的问题,并且可能有与愿意尝试的人一样多的正确答案。您的最终解决方案将取决于您开发的应用程序的需求、您所处的环境以及您正在设计的组织。我假设您希望每个人(或大多数人)都能看到基本信息,并且只有当请求者是朋友时,敏感信息才会出现在页面上。

我相信最基本的方法将涉及使用 安全上下文 在您的 servlet/controllers/resources 中(设计 Web 应用程序的方法太多,需要在此处进行假设)和页面模板(jsf、jsp 等...等),以访问当前经过身份验证的用户,并且仅包含允许用户访问的信息。

其他提示

春季安全的基本元素是

- Security Interceptor
  - Authentication Manager
  - Access Decision Manager 
  - Run-As Manager
  - After-Invocation Manager

安全拦截器的实际实施将取决于被保护什么资源。如果你在一个Web应用程序保护的URL,安全拦截器将被实现为一个Servlet过滤器。但是,如果你保护方法调用,方面将用于加强安全性。

一个安全拦截器几乎不会超过资源侦听接入来实施安全。实际上它并不适用安全规则。相反,它代表们 责任的各种管理。

通过使用适当的经理()你会设法满足您的要求。

参考:曼宁春天在行动第二版2007年8月

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top