Il y a deux aspects pour répondre à votre question.
1. Pour vérifier l'accès aux verger éléments de contenu et un élément de menu par rapport à lui:
Pour ce faire, vous pouvez mettre en œuvre de nouveaux IAuthorizationServiceEventHandler
pour remplacer les rôles par défaut le service d'autorisation en fonction, le meilleur échantillon pour vous est ContentMenuItemAuthorizationEventHandler
que vous pouvez trouver dans le module Orchard.ContentPicker
, j'inclus un exemple de code pour expliquer l'utilisation de ce gestionnaire:
public class CustomAuthorizationEventHandler :
IAuthorizationServiceEventHandler{
public ContentMenuItemAuthorizationEventHandler() {
}
public void Checking(CheckAccessContext context) { }
public void Adjust(CheckAccessContext context) {
//Here you can put your business to grant user or not
context.Granted = true; //Roles service will look to this value to grant access to the user
context.Adjusted = true;
}
public void Complete(CheckAccessContext context) {}
}
2. pour vérifier l'accès à certaines actions.
Pour ce faire, vous pouvez mettre en œuvre une nouvelle IAuthorizationFilter
pour vérifier l'accès à certaines actions dans votre système:
public class CustomAuthorizationFilter : FilterProvider, IAuthorizationFilter {
public void OnAuthorization(AuthorizationContext filterContext) {
if (!Granted) {
filterContext.Result = new HttpUnauthorizedResult();
}
}
}
Commander [ce fil] (http://stackoverflow.com/questions/11879500/how-to -limit-page-access-only-to-localhost) – devqon
devqon, je sais comment le faire dans dot.net, ce n'est pas une question de syntaxe. La question est comment puis-je étendre vergerCMS pour aboutir à ce comportement. Merci! – NoCarrier