Autorisation de rôle MVC

Je suis en train de mettre en œuvre un rôle de mécanisme d'autorisation qui vérifie les rôles de la session courante de l'utilisateur, si l'utilisateur est dans le bon rôle, il/elle est autorisé, sinon erreur d'affichage de la vue.

Le problème est que lorsque l'utilisateur tente d'accéder à la méthode ci-dessous dans le contrôleur, il le fait entrer dans la RoleAuthorizationAttribute classe et obtient verfied mais la méthode dans le contrôleur n'est pas exécutée.

Remarque : l'utilisateur a le rôle de Client

Méthode de contrôleur

[RoleAuthorization(Roles = "Client, Adminsitrator")]
    public ActionResult addToCart(int ProductID, string Quantity)
    {
        tempShoppingCart t = new tempShoppingCart();
        t.ProductID = ProductID;
        t.Username = User.Identity.Name;
        t.Quantity = Convert.ToInt16(Quantity);

        new OrdersService.OrdersClient().addToCart(t);
        ViewData["numberOfItemsInShoppingCart"] = new OrdersService.OrdersClient().getNoOfItemsInShoppingCart(User.Identity.Name);
        ViewData["totalPriceInSC"] = new OrdersService.OrdersClient().getTotalPriceOfItemsInSC(User.Identity.Name);
        return PartialView("quickShoppingCart", "Orders");
    }

Rôle d'Authentification de classe

[System.AttributeUsage(System.AttributeTargets.All,AllowMultiple = false, Inherited = true)]
public sealed class RoleAuthorizationAttribute : AuthorizeAttribute
{
    public override void OnAuthorization(AuthorizationContext filterContext)
    {


        List<String> requiredRoles = Roles.Split(Convert.ToChar(",")).ToList();

        List<Role> allRoles = new UsersService.UsersClient().GetUserRoles(filterContext.HttpContext.User.Identity.Name).ToList();


        bool Match = false;

        foreach (String s in requiredRoles)
        {
            foreach (Role r in allRoles)
            {
                string rName = r.RoleName.Trim().ToString();
                string sName = s.Trim();
                if (rName == sName)
                {
                    Match = true;
                }
            }
        }

        if (!Match)
        {
            filterContext.Result = new ViewResult { ViewName = "AccessDenied" };
        }

        base.OnAuthorization(filterContext);

    }
}

Pourriez-vous s'il vous plaît dites-moi ce que je fais de mal

source d'informationauteur drinu16