我的图像文件夹中有一个子目录,它是网络驱动器的符号链接。这使我们能够将数千张图像存储在更适合的地方。
如果经过身份验证的用户访问了加载这些图像的页面,则未经身份验证的用户可以从浏览器访问图像的直接 url 路径。
全世界都可以访问。
我尝试使用 staticRules、悲观锁定和interceptUrlMap 以几种不同的方式对其进行配置。
我当前的 config.groovy 看起来像这样:
//Too ristrictive? Could not get past login
//grails.plugins.springsecurity.rejectIfNoRule = true
//grails.plugins.springsecurity.controllerAnnotations.staticRules = [
// '/images/gpfscc/**': ['IS_AUTHENTICATED_REMEMBERED'],
// '/static/images/gpfscc/**': ['IS_AUTHENTICATED_REMEMBERED']
//
//]
grails.plugins.springsecurity.interceptUrlMap = [
// '/images/gpfscc/**': ['IS_AUTHENTICATED_REMEMBERED'],
// '/static/images/gpfscc/**': ['IS_AUTHENTICATED_REMEMBERED'],
'/secUser/**': ['IS_AUTHENTICATED_REMEMBERED'],
'/secUserSecRole/**': ['IS_AUTHENTICATED_REMEMBERED'],
'/trip/**': ['IS_AUTHENTICATED_REMEMBERED'],
'/collection/**': ['IS_AUTHENTICATED_REMEMBERED'],
'/secRole/**': ['IS_AUTHENTICATED_REMEMBERED'],
'/vehicle/**': ['IS_AUTHENTICATED_REMEMBERED'],
'/login/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/logout/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/*': ['IS_AUTHENTICATED_ANONYMOUSLY']
]
最终结果是控制器和页面应用了适当的安全性,但“静态”资源永远不会检查身份验证。
我需要保证,如果您提前知道该网址,则您无法在未登录和正确组的情况下访问该图像。
谢谢你。