Iam使用授权在用户登录后锁定控制器。用户保存在EF中,不使用角色或类似的东西。我阅读了authorize的文档,似乎我必须指定可以访问锁定控制器的用户或角色;
这里我有帐户控制器;
[Authorize]
public ActionResult Index()
{
return View();
}
当用户登录时,应该将用户重定向到使用[授权]属性锁定的此操作,但不幸的是我收到此错误“未经授权的Html错误401”。 我的问题是:如何授予在EF DB中注册的所有用户的访问权限,以便重定向到下一页并跳过此错误?
答案 0 :(得分:2)
添加不带参数的Authorize
属性将授予对所有用户的访问权限:
[Authorize]
public class PrivateAreaController
{
//
}
或针对个别行动:
public class MostlyPublicController
{
[Authorize]
public ActionResult GetPrivateStuff()
{
//
}
}
答案 1 :(得分:2)
以下是解决方案:
1-我必须更改Web.config文件并添加以下内容:
<authentication mode="Forms">
<forms loginUrl="~/Home/Login" timeout="2880" />
</authentication>
然后用[授权]
装饰控制器2-我必须清除浏览器(谷歌浏览器)中的cookie以使其正常工作,否则我仍然可以访问帐户控制器。清理cookie将删除旧cookie并开始新的cookie。