Example #1
0
        /// <summary>
        /// Conditionally render HTML output according to the provided authorization member action and underlyiong object type.
        /// </summary>
        /// <param name="htmlHelper">The HTML helper instance that this method extends.</param>
        /// <param name="action">AuthorizationActions for which the authorization is required.</param>
        /// <param name="target">CSLA object instance.</param>
        /// <param name="member">CSLA object member.</param>
        /// <param name="granted">The rendered HTML output for granted users.</param>
        /// <param name="denied">The rendered HTML output for denied users.</param>
        /// <returns>The appropriate HTML rendered output.</returns>
        public static MvcHtmlString HasPermission(
            this HtmlHelper htmlHelper,
            Csla.Rules.AuthorizationActions action,
            object target,
            Csla.Core.IMemberInfo member,
            string granted,
            string denied)
        {
            var instance = target as Csla.Security.IAuthorizeReadWrite;

            if (instance == null)
            {
                return(MvcHtmlString.Create(denied));
            }

            if ((action == Rules.AuthorizationActions.ReadProperty && instance.CanReadProperty(member.Name)) ||
                (action == Rules.AuthorizationActions.WriteProperty && instance.CanWriteProperty(member.Name)) ||
                (action == Rules.AuthorizationActions.ExecuteMethod && instance.CanExecuteMethod(member.Name)))
            {
                return(MvcHtmlString.Create(granted));
            }
            else
            {
                return(MvcHtmlString.Create(denied));
            }
        }
Example #2
0
        /// <summary>
        /// Conditionally render HTML output according to the provided authorization member action and underlyiong object type.
        /// </summary>
        /// <param name="htmlHelper">The HTML helper instance that this method extends.</param>
        /// <param name="action">AuthorizationActions for which the authorization is required.</param>
        /// <param name="target">CSLA object instance.</param>
        /// <param name="member">CSLA object member.</param>
        /// <param name="grantedAction">The rendered HTML helper action for granted users.</param>
        /// <param name="denieddAction">The rendered HTML helper action for denied users.</param>
        /// <returns>The appropriate HTML rendered output.</returns>
        public static HtmlString HasPermission(
            this IHtmlHelper htmlHelper,
            Csla.Rules.AuthorizationActions action,
            object target,
            Csla.Core.IMemberInfo member,
            Func <IHtmlHelper, HtmlString> grantedAction,
            Func <IHtmlHelper, HtmlString> denieddAction)
        {
            var instance = target as Csla.Security.IAuthorizeReadWrite;

            if (instance == null)
            {
                return(denieddAction.Invoke(htmlHelper));
            }

            if ((action == Rules.AuthorizationActions.ReadProperty && instance.CanReadProperty(member.Name)) ||
                (action == Rules.AuthorizationActions.WriteProperty && instance.CanWriteProperty(member.Name)) ||
                (action == Rules.AuthorizationActions.ExecuteMethod && instance.CanExecuteMethod(member.Name)))
            {
                return(grantedAction.Invoke(htmlHelper));
            }
            else
            {
                return(denieddAction.Invoke(htmlHelper));
            }
        }
Example #3
0
        public CanSetBadgeType(Csla.Rules.AuthorizationActions action, IMemberInfo element, Common.Enums.BadgeType badgeType, string allowedRole)
            : base(action, element)
        {
            if (element == null || !(element is IPropertyInfo))
            {
                throw new ArgumentException("Parameter element must be of type IPropertyInfo.");
            }

            AllowedRole = allowedRole;
            BadgeType   = badgeType;
        }
Example #4
0
 /// <summary>
 /// Conditionally render HTML output according to the provided authorization action and underlyiong object type.
 /// </summary>
 /// <param name="htmlHelper">The HTML helper instance that this method extends.</param>
 /// <param name="action">AuthorizationActions for which the authorization is required.</param>
 /// <param name="objectType">CSLA object type for which the action is applied.</param>
 /// <param name="grantedAction">The rendered HTML helper action for granted users.</param>
 /// <returns>The appropriate HTML rendered output.</returns>
 public static HtmlString HasPermission(
     this IHtmlHelper htmlHelper,
     Csla.Rules.AuthorizationActions action,
     Type objectType,
     Func <IHtmlHelper, HtmlString> grantedAction)
 {
     if (Csla.Rules.BusinessRules.HasPermission(action, objectType))
     {
         return(grantedAction.Invoke(htmlHelper));
     }
     else
     {
         return(HtmlString.Empty);
     }
 }
Example #5
0
 /// <summary>
 /// Conditionally render HTML output according to the provided authorization action and underlyiong object type.
 /// </summary>
 /// <param name="htmlHelper">The HTML helper instance that this method extends.</param>
 /// <param name="action">AuthorizationActions for which the authorization is required.</param>
 /// <param name="objectType">CSLA object type for which the action is applied.</param>
 /// <param name="granted">The rendered HTML output for granted users.</param>
 /// <param name="denied">The rendered HTML output for denied users.</param>
 /// <returns>The appropriate HTML rendered output.</returns>
 public static HtmlString HasPermission(
     this IHtmlHelper htmlHelper,
     Csla.Rules.AuthorizationActions action,
     Type objectType,
     string granted,
     string denied)
 {
     if (Csla.Rules.BusinessRules.HasPermission(action, objectType))
     {
         return(new HtmlString(granted));
     }
     else
     {
         return(new HtmlString(denied));
     }
 }
Example #6
0
        /// <summary>
        /// Conditionally render HTML output according to the provided authorization action and underlyiong object type.
        /// </summary>
        /// <param name="htmlHelper">The HTML helper instance that this method extends.</param>
        /// <param name="action">AuthorizationActions for which the authorization is required.</param>
        /// <param name="objectType">CSLA object type for which the action is applied.</param>
        /// <param name="granted">The rendered HTML output for granted users.</param>
        /// <param name="denied">The rendered HTML output for denied users.</param>
        /// <returns>The appropriate HTML rendered output.</returns>
        public static HtmlString HasPermission(
            this IHtmlHelper htmlHelper,
            Csla.Rules.AuthorizationActions action,
            Type objectType,
            HtmlString granted,
            string denied)
        {
            var applicationContext = GetApplication(htmlHelper);

            if (Csla.Rules.BusinessRules.HasPermission(applicationContext, action, objectType))
            {
                return(granted);
            }
            else
            {
                return(new HtmlString(denied));
            }
        }
Example #7
0
        /// <summary>
        /// Conditionally render HTML output according to the provided authorization member action and underlyiong object type.
        /// </summary>
        /// <param name="htmlHelper">The HTML helper instance that this method extends.</param>
        /// <param name="action">AuthorizationActions for which the authorization is required.</param>
        /// <param name="target">CSLA object instance.</param>
        /// <param name="member">CSLA object member.</param>
        /// <param name="granted">The rendered HTML output for granted users.</param>
        /// <param name="denied">The rendered HTML output for denied users.</param>
        /// <returns>The appropriate HTML rendered output.</returns>
        public static HtmlString HasPermission(
            this IHtmlHelper htmlHelper,
            Csla.Rules.AuthorizationActions action,
            object target,
            Csla.Core.IMemberInfo member,
            HtmlString granted,
            string denied)
        {
            if (target is not Csla.Security.IAuthorizeReadWrite instance)
            {
                return(new HtmlString(denied));
            }

            if ((action == Rules.AuthorizationActions.ReadProperty && instance.CanReadProperty(member.Name)) ||
                (action == Rules.AuthorizationActions.WriteProperty && instance.CanWriteProperty(member.Name)) ||
                (action == Rules.AuthorizationActions.ExecuteMethod && instance.CanExecuteMethod(member.Name)))
            {
                return(granted);
            }
            else
            {
                return(new HtmlString(denied));
            }
        }
Example #8
0
 public IsInUser(Csla.Rules.AuthorizationActions action)
     : base(action)
 {
 }
Example #9
0
 public IsInUser(Csla.Rules.AuthorizationActions action, Csla.Core.IMemberInfo element)
     : base(action, element)
 {
 }
 public IsInProjectAndRole(Csla.Rules.AuthorizationActions action)
     : base(action)
 {
 }
 public IsInProjectAndRole(Csla.Rules.AuthorizationActions action, Csla.Core.IMemberInfo element)
     : base(action, element)
 {
 }
Example #12
0
 public CanChange(Csla.Rules.AuthorizationActions authorizationAction, string allowedRole)
     : base(authorizationAction)
 {
     AllowedRole = allowedRole;
 }
 public CanCreateSubmission(Csla.Rules.AuthorizationActions authorizationAction)
     : base(authorizationAction)
 {
 }