我的wwwroot / images内部具有以下结构:
wwwroot
-------图像
-------------客户
---------------------------每个客户都有自己的文件夹名称。
每个文件夹都有一个只有客户才能访问的图像。
问题是:如果某些用户键入其他用户的图像的地址,它将打开。
我正在尝试使用数据库中的Company表来限制对每个文件夹的访问。
我可以使用Web配置上的位置路径在MVC 5上做到这一点。
但是如何在.NET Core上的appsettings.json中做到这一点?
谢谢大家!
OBS:如果您有其他解决方法,欢迎您:D
答案 0 :(得分:1)
静态文件中间件不提供授权检查。它提供的任何文件,包括wwwroot下的文件,都可以公开访问。要基于授权提供文件,您可以参考Static file authorization。
对于另一个选项,您可以考虑实现自定义中间件,例如
Dim wb2 As Workbook
Dim fdl As FileDialog
Dim FileChosen As Integer
Set fdl = Application.FileDialog(msoFileDialogFilePicker)
fdl.Title = "Please Select the XXX file"
'Set the InitialFile Path
fdl.InitialFileName = "D:\"
'Set the Folder View
fdl.InitialView = msoFileDialogViewSmallIcons
'Set the filter
fdl.Filters.Clear
fdl.Filters.Add "XLSX", "*.XLSX"
'Optional if you know the file type is constant, else no need of filter
FileChosen = fdl.Show
If FileChosen <> -1 Then
'Not choosen anything / Clicked on CANCEL
MsgBox "No file choosen"
Else
'fdl.SelectedItems(1) display name and complete path of file chosen
Set wb2 = Workbooks.Open(fdl.SelectedItems(1))
End If