Example #1
0
            public void BeforeInvoke(ICallInvocation invocation)
            {
                var operNames     = operationNames;
                var providerNames = this.permissionProviderNames;
                IPermissionProvider permissionProvider;

                if (operNames.Length > 0)
                {
                    for (int i = 0, len = operNames.Length; i < len; i++)
                    {
                        var operName     = operNames[i];
                        var providerName = providerNames[i];

                        if (!invocation.TryGetValue <IPermissionProvider>(providerName, out permissionProvider))
                        {
                            throw new PermissionException(operName, "not found <IPermissionProvider>, provider  name: {0}".FormatArgs(providerName));
                        }

                        if (!permissionProvider.HasPermission(operName))
                        {
                            throw new PermissionInvalidOperationException(operName);
                        }
                    }
                }
            }
Example #2
0
        public static bool TryGetValue <T>(this ICallInvocation source, string name, out T value)
        {
            object o;

            if (source.TryGetValue(typeof(T), name, out o))
            {
                value = (T)o;
                return(true);
            }
            value = default(T);
            return(false);
        }