/// <summary> /// Stellt beim Überschreiben einen Einstiegspunkt für benutzerdefinierte Autorisierungs-Prüfungen bereit. /// </summary> /// <returns> /// True, wenn der Benutzer autorisiert ist, andernfalls False. /// </returns> /// <param name="httpContext"> /// Der HTTP-Kontext, der alle HTTP-spezifischen Informationen über eine einzelne /// HTTP-Anforderung kapselt. /// </param> /// <exception cref="T:System.ArgumentNullException">Der <paramref name="httpContext" />-Parameter ist null.</exception> protected virtual bool AuthorizeCore(HttpContextBase httpContext) { if (httpContext == null) { throw new ArgumentNullException("httpContext"); } if (!httpContext.User.Identity.IsAuthenticated) { /*Es ist kein Nutzer angemeldet*/ return(false); } ISecurityExpressionRoot securityExpressionRoot = GetSecurityContext(); /* Wenn keine Rollen angegeben sind, muss der Nutzer nur authentifiziert sein. */ if (_roles == null || _roles.Length == 0) { return(true); } return(securityExpressionRoot.HasAnyRole(_roles)); }
public bool HasAnyRole(params string[] roles) { ISecurityExpressionRoot securityExpressionRoot = GetSecurityExpressionRoot(); return(securityExpressionRoot.HasAnyRole(roles)); }