我的第一个问题是,我在哪里把这个自定义扩展,以便它可以被称为而不是默认的AuthorizeAttribute?

我现在已经创建了一个包含我的MVC解决方案中所有的业务逻辑的一个新项目。我有一个包含所有我的安全类的我的逻辑项目中的cs文件。我尝试添加一个扩展类,该文件和我的控制器上,它看到类蛮好和智能是不是我狂吠,当我添加属性,但是当我尝试编译,我得到一个错误的类型或命名空间找不到。是否自定义属性需要进行什么特别的地方安置为了编译?

第二个问题......可能与第一:当我试图覆盖从AuthorizeAttribute的AuthorizeCore方法,我传递System.Web.HttpContextBase为HttpContext的。出于某种原因,Visual Studio可以不能解决System.Web.HttpContextBase。同样,这可能与在那里我有这个类保存在我的解决方案。或许我需要的地方导入一个DLL来扩展这个?

请指教。

有帮助吗?

解决方案

据我所知,这个类可以在任何类库项目,只要你有正确引用在您的网站上的项目。你可能会想尝试重新编译项目 - 这听起来就像是能够找到源文件,但代码是不是在DLL

您可能需要在参考System.Web.Abstractions添加到您的项目。而“基地”类在System.Web命名空间,它们是在不同的DLL中发现。

其他提示

这对我的作品,我希望这会帮助你。

using System.Web.Mvc;

public class CustomAuthorize : AuthorizeAttribute
{

}

In controller

 [CustomAuthorize]
public class OrderController : Controller
{

}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top