我在网络配置中使用以下设置来阻止匿名访问我的网站。
<authorization>
<deny users="?"/>
</authorization>
我想只允许匿名访问我网站的首页。我该如何实现这一目标?我正在使用ASP .NET MVC 3.5。
答案 0 :(得分:1)
如果要启用对控制器/操作的匿名访问,则必须在Web中启用它.Config:
<location path="Home/Index">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
纯MVC应用程序的一个更好的方法是使用Authorize属性并启用对web.config中所有用户的访问。
public void Application_BeginRequest()
{
if (Request.AppRelativeCurrentExecutionFilePath == "~/")
HttpContext.Current.RewritePath("/Home/Index");
}
我正在检查它。
答案 1 :(得分:0)
将您的登录网址设置为您的主页,如下所示:
<authentication mode="Forms">
<forms loginUrl="/Home/Index" />
</authentication>
它会将匿名用户重定向到登录页面。
或者您可以在Action中使用AllowAnonymous属性(Home控制器中的索引操作或任何位置)
[AllowAnonymous]
public ActionResult Index()
{
...
}