ckfinder/_source/Settings/AccessControlManager.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*
 * CKFinder
 * ========
 * http://ckfinder.com
 * Copyright (C) 2007-2012, CKSource - Frederico Knabben. All rights reserved.
 *
 * The software, this file and its contents are subject to the CKFinder
 * License. Please read the license.txt file before using, installing, copying,
 * modifying or distribute this file or part of its contents. The contents of
 * this file is part of the Source Code of CKFinder.
 */

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace CKFinder.Settings
{
	public class AccessControlManager
	{
		private ArrayList _AclEntries;

		private bool _IsAclEntriesComputed;
		private Hashtable _ComputedAclEntries;

		public AccessControlManager()
		{
			_AclEntries = new ArrayList();
			_ComputedAclEntries = new Hashtable();
		}

		public AccessControl Add()
		{
			AccessControl acl = new AccessControl();
			_AclEntries.Add( acl );
			return acl;
		}

		private void ComputeAclEntries()
		{
			for ( int i = 0 ; i < _AclEntries.Count ; i++ )
			{
				AccessControl acl = (AccessControl)_AclEntries[ i ];

				string folderPath = acl.Folder;
				string entryKey = acl.GetInternalKey();
				int allowRulesMask = acl.GetAllowedMask();
				int denyRulesMask = acl.GetDeniedMask();

				if ( _ComputedAclEntries.ContainsKey( folderPath ) )
				{
					if ( ( (Hashtable)_ComputedAclEntries[ folderPath ] ).ContainsKey( entryKey ) )
					{
						int[] rulesMasks = (int[])( (Hashtable)_ComputedAclEntries[ folderPath ] )[ entryKey ];
						allowRulesMask |= rulesMasks[ 0 ];
						denyRulesMask |= rulesMasks[ 1 ];
					}
				}
				else
后面还有 83 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。