Spring Acegi - 社交网络平台
-
22-08-2019 - |
题
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月
不隶属于 StackOverflow