应用弹簧安全 - 这种用法正确吗?
Posted
技术标签:
【中文标题】应用弹簧安全 - 这种用法正确吗?【英文标题】:Applying spring security - is this usage correct? 【发布时间】:2016-09-22 22:54:52 【问题描述】:我正在将 Spring Security 应用于需要执行以下操作的 Web 应用程序:
限制某些角色/权限对某些页面的访问
根据用户访问权限和用户角色限制对某些数据的访问(对于 例如管理员可以查看所有数据,用户只能查看管理员授予用户访问权限的数据)
根据用户拥有的访问权限(读取、 管理等)
所以,我在想:
限制某些角色/权限对某些页面的访问 -> 使用 hasRole 限制对某些数据的访问 -> 直接在查询中过滤 从安全上下文中获取主体 根据用户拥有的访问权限允许对数据执行操作 -> 使用 我自定义 PermissionEvluator 的 hasPermission 方法现在这是我想出的一个设置,但想知道这是否有意义,以及它是否符合对 spring 安全框架的良好使用,或者我只是把它扭曲了太多。
【问题讨论】:
【参考方案1】:Spring 安全性提供了所有这些功能,并使这些功能的实现变得简单。是的,您的方法是正确的。您可以添加以下案例。
安全无:允许未经身份验证的用户访问某些 pages.(login, public pages) 认证:允许访问 经过身份验证的用户..(所有注册用户的一般访问权限) 基于角色限制:只读、编辑/经理、基于 permissionEvaluator 对用户有权访问的数据您还可以使用 Spring Security 来保护您的 Web 应用程序免受恶意用户的攻击,这些功能包括 - CSRF 保护(默认启用) - XSS 保护 更多细节请阅读:spring security manual
【讨论】:
以上是关于应用弹簧安全 - 这种用法正确吗?的主要内容,如果未能解决你的问题,请参考以下文章