我正在尝试 ImageResizer 并正在寻找一种基于角色、组等动态授权用户访问图像(和其他文件)的好方法,从而限制图像访问。我读到 ImageResizer 支持 Url 授权,但不确定到什么程度(只有当我实现它时才会遵循或有帮助者)。最好是可以与他们的磁盘缓存模块一起使用的灵魂。看到了一些关于实现自定义 url 授权的通用信息,但不确定它是否只是为图像路径设置授权的问题,就像任何其他资源一样,然后让 imageresizer 对抗它。或者,如果某些逻辑应该连接到 imageresizer。在这里找到了一些关于 url 授权的信息,但我想我不是第一个实施这种组合的人?
我看到的最佳设置将是一个限制,如果身份验证未授予访问权限,则没有文件(拇指、图像、缓存图像或其他)在线可用。
因此,寻找更多关于这个健全和体面安全的实现的信息/细节,也许这个示例实现/代码存在于我还没有找到的某个地方?
编辑:计算机语言学家链接给了我很多我想要的东西。不过有两件事让我印象深刻。1.是否有任何最佳实践来重新定义事件处理程序中的内容,或者我可以为此特定目的构建服务并在处理程序中使用它?2. 由于这将针对每个图像触发,我想避免直接进行 dbcall 进行权限检查(即尝试为相应用户缓存权限的方法)?或者这对实际的影响通常很小以至于没关系?考虑到这一点,User.IsInRole 是否不会直接调用 dbcall 来确定成员资格?