GWT和身份验证

Vis*_*ish 15 java security gwt

保护GWT + Tomcat应用程序执行身份验证和授权的最佳策略是什么?

Rob*_*anu 14

有两个基本策略:

  1. 保护入口点;
  2. 保护远程服务.

保护入口点

最简单的方法是使用常规Web应用程序安全工具限制对GWT生成的html/js文件的访问:

  • 春季安全;
  • web.xml约束.

这可以让你有一个例如AdminEntryPointUserEntryPoint.

保护远程服务

如果上述解决方案不够,可以深入挖掘.我已经使用Spring Security完成了这项工作.我还没有找到将Spring Security与GWT集成的100%清洁方式,所以我添加了一些粘合剂.简述:

  • 创建了一个注释@AllowedRoles,它枚举了允许访问该服务方法的用户角色;
  • 创建了一个UserDetailsService允许检查当前用户的内容(有关详细信息,请参阅SecurityContextHolder javadoc);
  • 创建了一个Spring方面,它匹配所有使用前面提到的注释注释的方法.它使用该服务来检索当前用户的角色,并抛出一个已检查的异常来表示非法访问;
  • 修改了所有服务方法以抛出安全性异常.

  • 罗伯特,你能否提供上述方面的示例代码?(这是我坚持的地方) (2认同)