Spring Acegi - 社交网络平台

时间:2009-03-28 19:15:55

标签: spring spring-security

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

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

是否有可能使用Acegi?怎么样?

2 个答案:

答案 0 :(得分:2)

简答:是的。

请注意,Acegi现在是Spring的一部分,现在称为Spring Security

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

我相信所有人最基本的方法都将涉及在servlet / controllers / resources中使用SecurityContext(设计Web应用程序的方法太多了),以及页面模板(jsf,jsp)等等......等,以获得对当前经过身份验证的用户的访问权限,并仅包含允许用户访问的信息。

答案 1 :(得分:1)

Spring Security的基本要素是

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

安全拦截器的实际实现将取决于所保护的资源。如果要在Web应用程序中保护URL,则安全拦截器将实现为servlet过滤器。但是,如果您要保护方法调用,则会使用方面来强制执行安全性。

安全拦截器只是拦截对资源的访问来强制执行安全性。它实际上并不适用安全规则。相反,它代表那个 对各种管理者负责。

通过使用适当的经理,您将设法满足您的要求。

参考:Manning Spring in Action第2版2007年8月