Beispiel #1
0
 public override void OnAuthenticated(IServiceBase authService, IAuthSession session, IOAuthTokens tokens, Dictionary <string, string> authInfo)
 {
     base.OnAuthenticated(authService, session, tokens, authInfo);
     try {
         var mail = new MailAddress(session.Email);
         // We use a very simple authentification scheme for now solely based on a @xamarin.com email address
         if (mail.Host == "xamarin.com")
         {
             Roles.Add(RoleNames.Admin);
             Permissions.AddRange(new [] { "CanAccess", "CanModify" });
         }
     } catch {
         // Log
     }
 }
        public void AddPermission(SPBindingCollection bindingCol, bool forceBreak = false)
        {
            // This is the main "AddPermission" method that the other methods call.
            if (HasUniquePermissions.HasValue && !HasUniquePermissions.Value)
            {
                if (!forceBreak)
                {
                    throw new NoForceBreakException(_li.Id);
                }
                else
                {
                    _li.BreakRoleInheritance(true, true);
                }
            }
            else if (!HasUniquePermissions.HasValue)
            {
                throw new InvalidOperationException("This object's permissions cannot be modified!");
            }

            var list = new List <RoleAssignment>(bindingCol.Count);

            for (int i = 0; i < bindingCol.Count; i++)
            {
                var binding = bindingCol[i];
                var bCol    = new RoleDefinitionBindingCollection(CTX.SP1)
                {
                    binding.Definition
                };
                list.Add(_li.RoleAssignments.Add(
                             binding.Principal, bCol));
                foreach (var ass in list)
                {
                    CTX.Lae(ass, false);
                }
                _li.Update();
                CTX.Lae();
            }
            if (Permissions == null)
            {
                this.GetPermissions();
            }
            else
            {
                Permissions.AddRange(list);
            }
        }
 /// <summary>
 ///     The load user.
 /// </summary>
 /// <param name="data">
 ///     The data.
 /// </param>
 private void LoadUser(SecurityObject data)
 {
     if (data != null)
     {
         UserId             = data.SecurityObjectId;
         Name               = data.Username;
         IsAuthenticated    = true;
         AuthenticationType = "Membership";
         Permissions.AddRange(data.SecurityObjectPermissions.Select(sop => sop.Permission).ToList());
         UserProfile = data;
     }
     else
     {
         Name               = string.Empty;
         IsAuthenticated    = false;
         AuthenticationType = string.Empty;
         Permissions        = new List <Permission>();
         UserProfile        = new SecurityObject();
     }
 }
Beispiel #4
0
 public UserManager()
 {
     Permissions.AddRange(new RbacPermission[] {
         new RbacPermission("view-public-plane", "View public planes"),                 // Currently not implemented.
         new RbacPermission("view-own-plane", "View your own planes."),
         new RbacPermission("view-any-plane", "View anyone's planes."),
         new RbacPermission("create-plane", "Create a new plane."),
         new RbacPermission("delete-own-plane", "Delete a plane."),
         new RbacPermission("delete-any-plane", "Delete a plane."),
         new RbacPermission("manage-own-plane-members", "Manage the users allowed to access one of your planes."),
         new RbacPermission("manage-any-plane-members", "Manage the users allowed to access one any plane.")
     });
     Roles.Add(new RbacRole("Guest", new List <RbacPermission>()
     {
         ResolvePermission("view-public-plane")
     }));
     Roles.Add(new RbacRole("Member", new List <RbacPermission>()
     {
         ResolvePermission("view-own-plane"),
         ResolvePermission("create-plane"),
         ResolvePermission("delete-own-plane"),
         ResolvePermission("manage-own-plane-members")
     }, new List <RbacRole>()
     {
         ResolveRole("Guest")
     }));
     Roles.Add(new RbacRole("Root", new List <RbacPermission>()
     {
         ResolvePermission("view-any-plane"),
         ResolvePermission("delete-any-plane"),
         ResolvePermission("manage-any-plane-members")
     }, new List <RbacRole>()
     {
         ResolveRole("Member")
     }));
 }
 public MissingPermissionsException(params Discord.GuildPermission[] permissions) : base("")
 {
     Permissions.AddRange(permissions);
 }
 public MissingPermissionsException(string message, IEnumerable <Discord.GuildPermission> permissions, Exception inner) : base(message, inner)
 {
     Permissions.AddRange(permissions);
 }
 public MissingPermissionsException(string message, params Discord.GuildPermission[] permissions) : base(message)
 {
     Permissions.AddRange(permissions);
 }
 public MissingBotPermissionsException(params Discord.GuildPermission[] permissions)
 {
     Permissions.AddRange(permissions);
 }
Beispiel #9
0
 public AskForPermissionsConsentCard(PermissionTypeEnum[] permissions)
 {
     Permissions.AddRange(permissions);
 }
Beispiel #10
0
 public MissingBotChannelPermissionsException(params Discord.ChannelPermission[] permissions)
 {
     Permissions.AddRange(permissions);
 }
Beispiel #11
0
 public MissingBotChannelPermissionsException(string message, params Discord.ChannelPermission[] permissions) : base(message)
 {
     Permissions.AddRange(permissions);
 }