Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 我正在尝试在visual basic中的web api mvc 4应用程序上创建自定义授权属性_.net_Vb.net_Asp.net Mvc 4_Asp.net Web Api_Custom Attributes - Fatal编程技术网

.net 我正在尝试在visual basic中的web api mvc 4应用程序上创建自定义授权属性

.net 我正在尝试在visual basic中的web api mvc 4应用程序上创建自定义授权属性,.net,vb.net,asp.net-mvc-4,asp.net-web-api,custom-attributes,.net,Vb.net,Asp.net Mvc 4,Asp.net Web Api,Custom Attributes,我正在尝试实现继承system.web.http.authorizeAttribute的自定义授权属性 在我的项目中,我有一个web api mvc 4模板和一个mvc4 internet应用程序模板 使用windows身份验证作为客户端。我在WebAPI控制器中有一些方法,我试图使发送请求的经过身份验证的用户无法访问这些方法 作为交换,如果他点击具有自定义属性的按钮,则应返回401。而且,如果他没有经过身份验证,客户就不应该看到未经授权的东西 请提供一些代码示例 要创建从System.Web.

我正在尝试实现继承system.web.http.authorizeAttribute的自定义授权属性 在我的项目中,我有一个web api mvc 4模板和一个mvc4 internet应用程序模板 使用windows身份验证作为客户端。我在WebAPI控制器中有一些方法,我试图使发送请求的经过身份验证的用户无法访问这些方法 作为交换,如果他点击具有自定义属性的按钮,则应返回401。而且,如果他没有经过身份验证,客户就不应该看到未经授权的东西


请提供一些代码示例

要创建从System.Web.Http.AuthorizeAttribute派生的自定义authorized属性,应重写IsAuthorized()方法。它非常简单,如下所示

public class MyAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool IsAuthorized(HttpActionContext actionContext)
    {
        // Do some condition check here

        // Return the result of the condition check
        return isAuthenticated;
    }
}
现在将
[MyAuthorizeAttribute]
属性添加到要保护的方法中。这将导致对这些方法的所有未经验证的请求返回401


更好的方法是将
[MyAuthorizeAttribute]
添加到控制器中,并将
[AllowAnonymous]
属性添加到不需要验证的方法中。

请向我们展示您尝试过的方法,并告诉我们您遇到了什么问题。您的解决方案在做什么?您想让它做什么?@LeandroTupone根据需求,有不同的方式处理自定义角色。您可以为每个角色创建自定义授权属性,或使授权属性接受字符串列表(授权角色)作为参数。