31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
/* ****************************************************************************
|
|
*
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
*
|
|
* This software is subject to the Microsoft Public License (Ms-PL).
|
|
* A copy of the license can be found in the license.htm file included
|
|
* in this distribution.
|
|
*
|
|
* You must not remove this notice, or any other, from this software.
|
|
*
|
|
* ***************************************************************************/
|
|
|
|
namespace System.Web.Mvc {
|
|
using System;
|
|
|
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
|
|
public sealed class ChildActionOnlyAttribute : FilterAttribute, IAuthorizationFilter {
|
|
|
|
public void OnAuthorization(AuthorizationContext filterContext) {
|
|
if (filterContext == null) {
|
|
throw new ArgumentNullException("filterContext");
|
|
}
|
|
|
|
if (!filterContext.IsChildAction) {
|
|
throw Error.ChildActionOnlyAttribute_MustBeInChildRequest(filterContext.ActionDescriptor);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|