java - GWT 和身份验证

标签 java security gwt

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

最佳答案

有两种基本策略:

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

保护入口点

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

  • Spring 安全;
  • web.xml 约束。

这可以让你有一个例如AdminEntryPointUserEntryPoint

保护远程服务

如果上述解决方案还不够,您可以深入挖掘。我已经用 Spring Security 做到了。我还没有找到将 Spring Security 与 GWT 集成的 100% 干净的方法,所以我添加了一些胶水。简而言之:

  • 创建了一个注释 @AllowedRoles,它列举了允许访问该服务方法的用户角色;
  • 创建了一个 UserDetailsS​​ervice 允许检查当前用户(详情参见 the SecurityContextHolder javadoc);
  • 创建了一个 Spring 方面,它匹配所有使用上述注释进行注释的方法。它使用该服务检索当前用户的角色并抛出检查异常以表示非法访问;
  • 修改所有服务方法以抛出安全异常。

关于java - GWT 和身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1349938/

相关文章:

java - 如何编写用于文件上传的 MVC Web Api Post 方法

gwt延迟加载

java - 如何更改 GWT 应用程序中的 URL?

android - 通过 Android 保护对 Web 服务的请求

php - 公共(public)页面上的 ID 散列与加密

javascript - Firebase 身份验证跟踪表?

java - 尝试使用 javax.annotation.Nullable 时无法编译 GWT 模块?

java - 在屏幕上旋转时,仅应显示视频

java - DateTimeFormatter 无法解析格式化日期

java - 使用 Flash Builder 4.6 调试 Java 应用程序