保护 GWT + Tomcat 应用程序执行身份验证和授权的最佳策略是什么?
有两种基本策略:
- 确保入口点安全;
- 确保远程服务的安全。
确保入口点安全
最简单的方法是使用常规 Web 应用程序安全工具限制对 GWT 生成的 html/js 文件的访问:
这可以让你有一个例如AdminEntryPoint
and UserEntryPoint
.
保护远程服务
如果上述解决方案还不够,您可以深入挖掘。我已经用 Spring Security 做到了这一点。我还没有找到将 Spring Security 与 GWT 集成的 100% 干净的方法,所以我添加了一些粘合剂。简要地:
- 创建了一个注释
@AllowedRoles
它枚举允许访问该服务方法的用户角色;
- 创建了一个
UserDetailsService
它允许检查当前用户(参见SecurityContextHolder javadoc http://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/core/context/SecurityContextHolder.html了解详情);
- 创建了一个 Spring 方面,它与前面提到的注释所注释的所有方法相匹配。它使用该服务来检索当前用户的角色,并抛出一个已检查的异常来表示非法访问;
- 修改所有服务方法以抛出安全异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)