protected override AccessResult GetAccessCore(ISecurable entity, Account account, AccessRight accessRight)
    {
      var uniqueId = entity.GetUniqueId();

      if (string.IsNullOrEmpty(uniqueId))
      {
        return this.GetDefaultAccessResult();
      }

      var id = uniqueId.Substring(uniqueId.IndexOf("{", StringComparison.Ordinal), uniqueId.IndexOf("}", StringComparison.Ordinal) - uniqueId.IndexOf("{", StringComparison.Ordinal) + 1);
      var itemId = ID.Parse(id);
      var item = this.DataStorage.GetFakeItem(itemId);

      return this.GetPermission(item.Access, accessRight);
    }
Exemplo n.º 2
0
        /// <summary>
        /// The get access core.
        /// </summary>
        /// <param name="entity">
        /// The entity.
        /// </param>
        /// <param name="account">
        /// The account.
        /// </param>
        /// <param name="accessRight">
        /// The access right.
        /// </param>
        /// <returns>
        /// The <see cref="AccessResult"/>.
        /// </returns>
        protected override AccessResult GetAccessCore(ISecurable entity, Account account, AccessRight accessRight)
        {
            if (!this.accessRules.ContainsKey(entity.GetUniqueId()))
              {
            return new AccessResult(AccessPermission.Allow, new AccessExplanation(account.Name, accessRight));
              }

              AccessRuleCollection rule = this.accessRules[entity.GetUniqueId()];

              return new AccessResult(rule.Helper.GetAccessPermission(account, accessRight, PropagationType.Any), new AccessExplanation("Memory authorization provider found it correct."));
        }
Exemplo n.º 3
0
 /// <summary>
 /// The set access rules.
 /// </summary>
 /// <param name="entity">
 /// The entity.
 /// </param>
 /// <param name="rules">
 /// The rules.
 /// </param>
 public override void SetAccessRules(ISecurable entity, AccessRuleCollection rules)
 {
     this.accessRules[entity.GetUniqueId()] = rules;
 }
Exemplo n.º 4
0
 /// <summary>
 /// The get access rules.
 /// </summary>
 /// <param name="entity">
 /// The entity.
 /// </param>
 /// <returns>
 /// The <see cref="AccessRuleCollection"/>.
 /// </returns>
 public override AccessRuleCollection GetAccessRules(ISecurable entity)
 {
     return this.accessRules[entity.GetUniqueId()];
 }
Exemplo n.º 5
0
        protected override AccessResult GetAccessCore(ISecurable entity, Sitecore.Security.Accounts.Account oAccount, AccessRight oAccessRight)
        {
            #region VARIABLES

            AccessResult      oAccesResult;
            AccessExplanation oAccessExplanation;
            string            sAccessExplanationText;

            #endregion

            //Sitecore.Diagnostics.Log.Info(string.Format("GenSqlServerAuthorizationProvider.GetAccessCore, entity{0}", entity.GetUniqueId()), this);

            switch (oAccessRight.Name)
            {
            case "item:read":
            case "field:read":
            case "language:read":
            case "site:enter":
                oAccessExplanation = new AccessExplanation(string.Format("{0} acces right granted for entity {1}", oAccessRight.Name, entity.GetUniqueId()), new object[0]);
                oAccesResult       = new AccessResult(AccessPermission.Allow, oAccessExplanation);
                break;

            default:
                sAccessExplanationText = string.Format("Access right {0} is unavailable in this instance layer", oAccessRight.Name);
                oAccessExplanation     = new AccessExplanation(sAccessExplanationText, new object[0]);
                oAccesResult           = new AccessResult(AccessPermission.Deny, oAccessExplanation);
                Sitecore.Diagnostics.Log.Debug(sAccessExplanationText, this);
                break;
            }

            //Sitecore.Diagnostics.Log.Info(string.Format("GenSqlServerAuthorizationProvider.GetAccessCore, AccessResult:{0}", oAccesResult.Permission), this);

            return(oAccesResult);
        }