在.NET中使用Authorize属性时出现未经授权的HTML错误401
本文关键字:授权 HTML 错误 NET Authorize 属性 | 更新日期: 2023-09-27 18:19:46
Iam在用户登录后使用authorize锁定控制器。用户保存在EF中,不使用角色或类似的东西。我阅读了authorize的文档,似乎我必须指定可以访问锁定控制器的用户或角色;
我有账户管理员;
[Authorize]
public ActionResult Index()
{
return View();
}
当用户登录时,应该将用户重定向到此操作,该操作已用属性[Authorize]锁定,但不幸的是,我收到了此错误"Html error 401 unauthorized"。我的问题是:如何允许所有在EF DB中注册的用户访问,以便重定向到下一个页面并跳过此错误??
以下是解决方案:
1-我不得不更改Web.config文件并添加以下内容:
<authentication mode="Forms">
<forms loginUrl="~/Home/Login" timeout="2880" />
</authentication>
然后用[授权]装饰控制器
2-我必须清除浏览器(谷歌Chrome)中的cookie才能使其正常工作,否则我仍然可以访问帐户控制器。清理cookie将删除旧的cookie并启动新的cookie。
添加不带参数的Authorize
属性将授予任何登录的用户访问权限:
[Authorize]
public class PrivateAreaController
{
//
}
或针对个人行动:
public class MostlyPublicController
{
[Authorize]
public ActionResult GetPrivateStuff()
{
//
}
}