spring Acegi安全可以用于社交网络应用吗?在社交网络应用中,用户可以设置自己的安全偏好,只与朋友分享数据。
Acegi教程的常见场景是,您希望为每个用户角色的操作授权,但是如果授权用户查看特定数据,例如,只有他们的朋友的数据呢?
有没有可能使用Acegi实现这一点?多么?
发布于 2009-03-28 19:46:53
简短的回答是:是的。
注意,Acegi现在是Spring的一部分,现在被称为Spring Security。
至于如何做到这一点,这是一个复杂得多的问题,而且可能会有尽可能多的正确答案。您的最终解决方案将取决于您开发的应用程序的需求,您所处的环境,以及您正在为之设计的组织。我假设您希望每个人(或大多数人)都能看到基本信息,并且只有在请求者是朋友的情况下,敏感信息才会出现在页面上。
我认为最基本的方法是使用servlet/控制器/资源中的SecurityContext (设计web应用的方式太多了,在这里做假设)和页面模板(jsf、jsp等……),来访问当前通过身份验证的用户,并只包含用户被允许访问的信息。
发布于 2009-05-02 19:54:10
Spring Security的基本元素是
- Security Interceptor
- Authentication Manager
- Access Decision Manager
- Run-As Manager
- After-Invocation Manager安全拦截器的实际实现将取决于所保护的资源。如果您要保护web应用程序中的URL,安全拦截器将作为servlet筛选器实现。但是如果你要保护一个方法调用,方面将被用来加强安全性。
安全拦截器除了拦截对资源的访问以增强安全性外,并不做更多的事情。它实际上并不应用安全规则。相反,它将责任委派给不同的经理。
通过使用合适的经理,您将设法满足您的要求。
参考: Manning Spring in Action第二版2007年8月
https://stackoverflow.com/questions/693342
复制相似问题