我只想让具有admin角色的用户访问页面Create。但是,没有具有admin或user角色的用户都可以访问该页面。以下是我的控制器代码:
[Authorize(Roles = "admin")]
public ActionResult Create()
{
return View("Admin/Create");
}
如您所见,Create位于子文件夹Admin中。我也试过创建一个单独的web.config,在这个子文件夹中控制访问,但是徒劳无功。我的web.config代码:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="admin"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
我的模型用户,确实有一个Roles属性。知道我错过了什么吗?
添加了: 我的根web.config:
<system.web>
<authentication mode="Forms">
<forms name=".cshtml" loginUrl="~/Home/Login" />
</authentication>
</system.web>