在我的MVC"电子学习"项目我有一个文件夹"课程"因为每个用户都有一个文件夹,每个用户都有一个文件" index.html"。
我的问题是没有人可以直接访问该文件夹页面
user1无法访问user2文件夹内容,否则任何人都无法访问文件夹内容,除非谁有权利。
"我不想使用表单身份验证"
像:
这不应该发生。
本地主机:7689 //场/用户1 / index.html中
只有授权使用才能访问此人,其他任何人都无法访问此内容。
方案:
user1登录然后他只能访问该文件夹" User1" 本地主机:7689 //场/用户1 / index.html中
user2登录然后他只能访问该文件夹" User2" 本地主机:7689 //场/用户2 / index.html中
提前致谢
答案 0 :(得分:0)
很简单:
第1步:
In RouteConfig.cs Add
routes.RouteExistingFiles = true;
步骤2:使用Controller和Action映射静态内容网址并检查验证
routes.MapRoute(
name: "staticFileRoute",
url: "Courses/{subFolder}/{file}",
defaults: new { controller = "Account", action = "HandleStatic" });
在控制器中:---
public ActionResult HandleStatic()
{
return File(Request.RawUrl, "text/html");
}
第3步:在Web.Config中添加
<modules runAllManagedModulesForAllRequests="true" />
请记住,您无法获得仅在控制器中获得的RouteConfig文件的断点。
答案 1 :(得分:-1)
您可以使用htpasswd密码保护目录 - 管理用户文件以进行基本身份验证并为每个用户创建用户/密码,但是您必须在手动创建用户/密码时与每个用户共享这些登录详细信息