如何解决ASP.NET MVC 3 AuthorizeAttribute不起作用,甚至没有被调用
|| 我无法让AuthorizeAttribute可以用于现成的MVC 3应用程序。因此,我创建了自己的属性,该属性从AuthorizeAttribute继承,并覆盖所有方法并添加断点以查看发生了什么。 但是问题是,从来没有调用过属性代码!知道是什么原因造成的吗? 它是一个完全空白的MVC 3应用程序,带有带有Index方法的HomeController。表单身份验证设置为重定向到〜/ Account / logon。但似乎它只是不加载[Authorize]属性... 编辑: 抱歉,今天我真的很累:)实际上,这不是一个完全空白的项目。我有一些Ninject代码为HomeController提供了一个存储库。如果禁用此功能并在HomeController上创建无参数构造函数,则AuthorizeAttribute似乎可以正常工作。 知道为什么Ninject依赖项注入会干扰Authorize属性吗? - 基督教解决方法
您说您的have0ѭ具有以下设置?
<authentication mode=\"Forms\">
<forms loginUrl=\"~/Account/logOn\" />
</authentication>
您如何使用您的authorize属性,我们可以看到一些代码吗?
您可能需要逐步阅读《使用表单验证对用户进行身份验证》指南。
,创建自定义属性并启用Forms auth还不够。您仍然必须用属性来装饰要为其执行过滤器的Controllers / Actions。
[Authorize]
public ActionResult Index()
{
// ...your code
}
要么
[Authorize]
public class HomeController
{
// ... your actions
}
按照tpeczek在评论中所说的那样进行编辑,还应确保[Authorize]使用的是AuthorizeAttribute,而不是System.Web.Mvc.AuthorizeAttribute。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。