コード例 #1
0
ファイル: AuthorizationContext.cs プロジェクト: nlhepler/mono
			CreateDefaultAuthorizationContext (IList<IAuthorizationPolicy> policies)
		{
			if (policies == null)
				throw new ArgumentNullException ("policies");

			string id = new UniqueId ().ToString ();
			DefaultEvaluationContext ctx =
				new DefaultEvaluationContext ();
			foreach (IAuthorizationPolicy a in policies) {
				object o = null;
				a.Evaluate (ctx, ref o);
			}

			return new DefaultAuthorizationContext (id, ctx);
		}
コード例 #2
0
        CreateDefaultAuthorizationContext(IList <IAuthorizationPolicy> policies)
        {
            if (policies == null)
            {
                throw new ArgumentNullException("policies");
            }

            string id = new UniqueId().ToString();
            DefaultEvaluationContext ctx =
                new DefaultEvaluationContext();

            foreach (IAuthorizationPolicy a in policies)
            {
                object o = null;
                a.Evaluate(ctx, ref o);
            }

            return(new DefaultAuthorizationContext(id, ctx));
        }
コード例 #3
0
 public DefaultAuthorizationContext(DefaultEvaluationContext evaluationContext)
 {
     this.claimSets = evaluationContext.ClaimSets;
     this.expirationTime = evaluationContext.ExpirationTime;
     this.properties = evaluationContext.Properties;
 }
コード例 #4
0
 public DefaultAuthorizationContext(DefaultEvaluationContext evaluationContext)
 {
     this.claimSets      = evaluationContext.ClaimSets;
     this.expirationTime = evaluationContext.ExpirationTime;
     this.properties     = evaluationContext.Properties;
 }
コード例 #5
0
 public DefaultAuthorizationContext(
     string id, DefaultEvaluationContext context)
 {
     this.id  = id;
     this.ctx = context;
 }
コード例 #6
0
 public DefaultAuthorizationContext(DefaultEvaluationContext evaluationContext)
 {
     _claimSets = evaluationContext.ClaimSets;
     _expirationTime = evaluationContext.ExpirationTime;
     _properties = evaluationContext.Properties;
 }
コード例 #7
0
 public DefaultAuthorizationContext(DefaultEvaluationContext evaluationContext)
 {
     _claimSets      = evaluationContext.ClaimSets;
     _expirationTime = evaluationContext.ExpirationTime;
     _properties     = evaluationContext.Properties;
 }
コード例 #8
0
 internal static AuthorizationContext CreateDefaultAuthorizationContext(IList<IAuthorizationPolicy> authorizationPolicies)
 {
     AuthorizationContext context;
     if (((authorizationPolicies != null) && (authorizationPolicies.Count == 1)) && (authorizationPolicies[0] is UnconditionalPolicy))
     {
         context = new SimpleAuthorizationContext(authorizationPolicies);
     }
     else
     {
         int generation;
         if ((authorizationPolicies == null) || (authorizationPolicies.Count <= 0))
         {
             return DefaultAuthorizationContext.Empty;
         }
         DefaultEvaluationContext evaluationContext = new DefaultEvaluationContext();
         object[] objArray = new object[authorizationPolicies.Count];
         object obj2 = new object();
         do
         {
             generation = evaluationContext.Generation;
             for (int i = 0; i < authorizationPolicies.Count; i++)
             {
                 if (objArray[i] != obj2)
                 {
                     IAuthorizationPolicy policy = authorizationPolicies[i];
                     if (policy == null)
                     {
                         objArray[i] = obj2;
                     }
                     else if (policy.Evaluate(evaluationContext, ref objArray[i]))
                     {
                         objArray[i] = obj2;
                         if (DiagnosticUtility.ShouldTraceVerbose)
                         {
                             TraceUtility.TraceEvent(TraceEventType.Verbose, 0xc0003, System.IdentityModel.SR.GetString("AuthorizationPolicyEvaluated", new object[] { policy.Id }));
                         }
                     }
                 }
             }
         }
         while (generation < evaluationContext.Generation);
         context = new DefaultAuthorizationContext(evaluationContext);
     }
     if (DiagnosticUtility.ShouldTraceInformation)
     {
         TraceUtility.TraceEvent(TraceEventType.Information, 0xc0002, System.IdentityModel.SR.GetString("AuthorizationContextCreated", new object[] { context.Id }));
     }
     return context;
 }
コード例 #9
0
ファイル: AuthorizationContext.cs プロジェクト: nlhepler/mono
			public DefaultAuthorizationContext (
				string id, DefaultEvaluationContext context)
			{
				this.id = id;
				this.ctx = context;
			}