在web项目中,我们有一个简单的文件浏览器。为了安全起见,我们需要某种映射,即哪些用户角色可以在哪些目录(包括它们的子目录)中读取(R)或读写(RW)。
例子:
用户可以查看文件夹中的文件。
具有角色的UserB在folderA/中查看和编辑文件,以及查看folderB/
到目前为止,项目中使用的一些技术:
我一直在深入研究Spring Security性,但不确定是否可以为我的用例使用GrantedAuthority实现(权限)。
所以我的问题是,是否有人有Spring Security的经验,可以为我指出正确的方法。如果SpringSecurity无法实现,其他库方案也会受到欢迎,但我当然更喜欢使用已经在使用的库。
Spring Security可以使用一些自定义代码。将您的服务层注释为:
@PostAuthorize("hasPermission(returnObject, 'READ')")
public FileObject readFileObject(String path) {
// return the file object from DAO
}
@PreAuthorize("hasPermission(#fileObj, 'WRITE')")
public void writeFileObject(FileObject fileObj) {
// write the file object, security check made at this point
}
实现PermissionEvaluator接口,使其成为Springbean。然后在安全配置中使用以下命令启用它:
@Autowired
private PermissionEvaluator permissionEvaluator;
@Bean
public DefaultMethodSecurityExpressionHandler expressionHandler() {
DefaultMethodSecurityExpressionHandler handler = new DefaultMethodSecurityExpressionHandler();
handler.setPermissionEvaluator(permissionEvaluator);
return handler;
}
以及:
<global-method-security pre-post-annotations="enabled">
<expression-handler ref="expressionHandler" />
</global-method-security>
事件 是某事发生的信号。所有的 DOM 节点都生成这样的信号(但事件不仅限于 DOM)。 这是最有用的 DOM 事件的列表,你可以浏览一下: 鼠标事件: click —— 当鼠标点击一个元素时(触摸屏设备会在点击时生成)。 contextmenu —— 当鼠标右键点击一个元素时。 mouseover / mouseout —— 当鼠标指针移入/离开一个元素时。 mousedown / mouseu
温馨提示:项目已开源,目前已停止维护 【基本介绍】 基于webkit的开源浏览器,支持window/Linux/Mac。 轻巧、安全、绿色、“超光速”! 【软件特点】 * 独创的“划鼠加速”功能,轻划鼠标,立即加速浏览,告别龟速网络 * 万能地址栏,瞬间变身词典、视频搜索器、查询终端,无限扩展 * 支持标签式浏览,无对话框模式 * 独有的页面式下载管理器 * 独有的页面式书签管理器
问题内容: 有关CSS和浏览器的快速问题。我尝试搜索SO,发现了一些类似的帖子,但没有确定的内容。 我在网络项目中使用了一个或两个CSS文件。这些在我的网页的标题中引用。一旦我点击了我的页面之一,是否会缓存CSS,以便不随每个请求重新下载CSS?希望如此。IE,Firefox和Safari处理不同吗?如果浏览器已关闭,那么在打开新的浏览器实例时,首次访问CSS是否会刷新? 问题答案: 您的文件 可
问题内容: 检索适用于所有浏览器的XmlHttpRequest对象的最简单,最安全的方法是什么?没有任何额外的库。您是否经常使用一个代码段? PS:我知道网上有很多例子,但这恰恰是我要问的原因:例子太多了,我只想简单实用的东西来工作。 问题答案: 虽然我建议使用完整的库来简化用法,但是在现代浏览器中,进行AJAX请求可能非常简单: 以下代码段是基于quirksmode.org的代码段的更高级代码段
Enlightened 硬件浏览器 (EHB) 可以用来显示系统中的所有设备,可以跟窗口管理器 Enlightenment 很好的集成。