应用弹簧安全性 - 这种用法是否正确?

时间:2016-05-25 11:11:42

标签: spring spring-security

我正在将spring security应用于我需要执行以下操作的Web应用程序:

  • 限制访问某些角色/权限的某些页面

  • 根据用户访问权限和用户角色限制对某些数据的访问(对于
    示例管理员可以查看所有数据,用户只能看到管理员授予用户访问权限的数据)

  • 根据用户拥有的访问权限允许对数据执行操作(读取,
    管理等)

所以,我在想:

  • 限制某些角色/权限的某些网页的访问权限 - >使用 hasRole
  • 限制对特定数据的访问 - >直接在查询中过滤 从安全上下文中获取主体
  • 根据用户拥有的访问权限允许对数据执行操作 - >使用 我的自定义PermissionEvluator的hasPermission方法

现在这是我提出的一个设置,但是想知道这是否有效,如果它是根据弹簧安全框架的一个很好的用途,或者我只是简单地扭曲它。

1 个答案:

答案 0 :(得分:0)

Spring安全性提供了所有这些功能,并使实现这些功能变得简单。是的,你的方法是对的。你可以添加以下案例。

  • security none:允许未经身份验证的用户访问某些用户 页面。(登录,公共页面)经过身份验证:允许访问
  • 经过身份验证的用户..(对所有注册用户的一般访问权限)
  • 基于角色限制:readonly,编辑/经理,基于
  • 数据用户的权限评估者可以访问

您还可以使用spring security来保护您的Web应用程序免受恶意用户的攻击 - CSRF保护(默认启用) - XSS保护 有关详细信息,请参阅:spring security manual