我一直在为这个问题疯狂。我正在为我的网络上的用户创建自定义授权。我正在使用Windows身份验证。我试图按照我在MSDN上找到的一个例子来说明如何做到这一点。唯一的问题是AuthorizationResult给我的类型或命名空间无法找到错误。我尝试过使用System.ComponentModel.DataAnnotations不会清除错误。我需要什么参考?我的控制器也找不到我的customAuthorization类?
这是我的CustomAuthorization的方法类,这里是AuthorizationResult抛出错误
protected override AuthorizationResult IsAuthorized(System.Security.Principal.IPrincipal principal, AuthorizationContext authorizationContext)
{
if(authorizationContext.HttpContext.User.IsInRole("hello"))
{
return true;
}
return base.AuthorizeCore(authorizationContext.HttpContext);
}
这是我控制器上的电话
[AuthorizeRoleAttribute]//does not find my class
public class HomeController : Controller
{
customAttribute的类定义
public class AuthorizeRoleAttribute : AuthorizeAttribute
{
答案 0 :(得分:1)
AuthorizationResult 驻留在 System.ServiceModel.DomainServices.Server.dll 中 确保已引用此程序集。它没有拾取你的自定义属性类的原因是它无法编译它缺少程序集...