我的images文件夹中有一个子目录,它是网络驱动器的符号链接。这使我们能够将数千张图像存储在更适合的地方。
如果经过身份验证的用户访问过加载这些图片的页面,则未经过身份验证的用户可以从浏览器访问该图片的直接网址路径。
它可以访问整个世界。
我尝试使用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']
]
最终结果是控制器和页面应用了propper安全性,但“静态”资源不会检查身份验证。
我需要告知,如果你知道如何知道网址的时间,你就无法在登录和正确的群组中访问图像。
谢谢。