Question

ma première question est, où dois-je mettre cette extension personnalisée de sorte qu'il peut être appelé plutôt que la valeur par défaut AuthorizeAttribute?

J'ai créé actuellement un nouveau projet qui contient toute ma logique métier au sein de ma solution MVC. J'ai un fichier .cs dans mon projet logique qui contient toutes mes classes de sécurité. J'ai essayé d'ajouter une classe d'extension à ce fichier et sur mon contrôleur, il voit la classe très bien et IntelliSense n'aboie à moi quand j'ajouter l'attribut, mais quand je tente de compiler, je reçois une erreur que le type ou espace de noms Ne peut être trouvé. L'attribut personnalisé doit être logé dans un endroit spécial afin de compiler?

Deuxième question ... pourrait être liée à la première: Quand je suis en train de remplacer la méthode AuthorizeCore de AuthorizeAttribute, je passe dans System.Web.HttpContextBase comme HttpContext. Pour une raison quelconque visual studio ne peut pas résoudre System.Web.HttpContextBase. Encore une fois cela pourrait être lié à l'endroit où j'ai cette classe sauvé dans ma solution. Ou peut-être que je dois importer une dll quelque part pour étendre ce?

S'il vous plaît conseiller.

Était-ce utile?

La solution

Pour autant que je suis conscient de la classe peut être dans tout projet de bibliothèque de classes aussi longtemps que vous avez correctement référencé le projet dans votre site web. Vous voudrez peut-être essayer de recompiler le projet -. Il semble que cela est en mesure de trouver les fichiers source, mais le code n'est pas dans la DLL

Vous avez probablement besoin d'ajouter une référence à System.Web.Abstractions à votre projet. Alors que les classes « de base » sont dans l'espace de noms System.Web, ils se trouvent dans une DLL différente.

Autres conseils

Il fonctionne pour moi, j'espère que cela vous aidera.

using System.Web.Mvc;

public class CustomAuthorize : AuthorizeAttribute
{

}

In controller

 [CustomAuthorize]
public class OrderController : Controller
{

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top