Esempio n. 1
0
        public void RemoveUsersFromRolesTest7()
        {
            try
            {
                AppleseedRoleProvider provider = Roles.Provider as AppleseedRoleProvider;

                Guid userId = new Guid("34ADB714-92B0-47ff-B5AF-5DB2E0D124A9"); // [email protected];

                Guid[] users = new Guid[] { userId };

                AppleseedRole editors = provider.GetRoleByName("Appleseed", "editors");
                Guid[]        roles   = new Guid[1];
                roles[0] = editors.Id;

                provider.AddUsersToRoles("Appleseed", users, roles);
                Assert.IsTrue(provider.IsUserInRole("Appleseed", userId, editors.Id));

                provider.RemoveUsersFromRoles("Appleseed", users, roles);
                Assert.IsFalse(provider.IsUserInRole("Appleseed", userId, editors.Id));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Assert.Fail("Error in RemoveUsersFromRolesTest7" + ex.Message, ex);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// The BindData helper method is used to bind the list of
        /// security roles for this portal to an asp:datalist server control
        /// </summary>
        private void BindData()
        {
            // Get the portal's roles from the database
            UsersDB users = new UsersDB();

            IList <AppleseedRole> roles = users.GetPortalRoles(this.PortalSettings.PortalAlias);

            // remove "All Users", "Authenticated Users" and "Unauthenticated Users" pseudo-roles
            AppleseedRole pseudoRole = new AppleseedRole(AppleseedRoleProvider.AllUsersGuid, AppleseedRoleProvider.AllUsersRoleName);

            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }
            pseudoRole = new AppleseedRole(AppleseedRoleProvider.AuthenticatedUsersGuid, AppleseedRoleProvider.AuthenticatedUsersRoleName);
            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }
            pseudoRole = new AppleseedRole(AppleseedRoleProvider.UnauthenticatedUsersGuid, AppleseedRoleProvider.UnauthenticatedUsersRoleName);
            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }

            rolesList.DataSource = roles;
            rolesList.DataBind();
        }
Esempio n. 3
0
        public void DeleteRoleTest4()
        {
            try
            {
                AppleseedRoleProvider provider = Roles.Provider as AppleseedRoleProvider;

                AppleseedRole editors = provider.GetRoleByName("Appleseed", "editors");
                provider.DeleteRole("invalidApp", editors.Id, true);
                Assert.Fail();
            }
            catch (AppleseedRoleProviderException) { }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Assert.Fail("Error in DeleteRoleTest4" + ex.Message, ex);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Handles the ItemDataBound event of the RolesList control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.Web.UI.WebControls.DataListItemEventArgs"/> instance containing the event data.</param>
        protected void RolesList_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            // 20/7/2004 changed by Mario Endara [email protected]
            // don't let the user to edit or delete the role "Admins"
            // the rolename is an hyperlink to the list of users of the role
            Control   dl      = e.Item.FindControl("ImageButton1");
            Control   d2      = e.Item.FindControl("ImageButton2");
            Control   imgPerm = e.Item.FindControl("ImageButton3");
            HyperLink d3      = (HyperLink)e.Item.FindControl("Name");

            AppleseedRole role = ((AppleseedRole)e.Item.DataItem);

            // Added by Mario Endara <*****@*****.**> 2004/11/04
            // if the user is not member of the "Admins" role, he can´t access to the members of the Admins role
            // added mID by Mario Endara <*****@*****.**> to support security check (2004/11/27)
            if ((d3 != null) && (PortalSecurity.IsInRoles("Admins") == true || role.Name != "Admins"))
            {
                d3.NavigateUrl = HttpUrlBuilder.BuildUrl("~/DesktopModules/CoreModules/Roles/SecurityRoles.aspx", PageID,
                                                         "mID=" + ModuleID + "&roleID=" + role.Id.ToString());
            }

            if (dl != null)
            {
                if (role.Name.Equals("Admins"))
                {
                    dl.Visible = false;
                }
                ((ImageButton)dl).Attributes.Add("OnClick", "return confirmDelete()");
            }
            if (d2 != null)
            {
                if (role.Name.Equals("Admins"))
                {
                    d2.Visible = false;
                }
            }
            if (imgPerm != null)
            {
                if (role.Name.Equals("Admins"))
                {
                    imgPerm.Visible = false;
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        /// The BindData helper method is used to bind the list of
        /// security roles for this portal to an asp:datalist server control
        /// </summary>
        private void BindData()
        {
            // Bind the Email and Password
            UsersDB users = new UsersDB();

            Guid currentUserID = this.userID;// PortalSettings.CurrentUser.Identity.ProviderUserKey;
            // bind users in role to DataList
            IList <AppleseedRole> roles = new List <AppleseedRole>();

            try {
                roles = users.GetRolesByUser(currentUserID, this.PortalSettings.PortalAlias);
            } catch (Exception exc) {
                ErrorHandler.Publish(LogLevel.Error, exc);
            }
            userRoles.DataKeyField = "Id";
            userRoles.DataSource   = roles;
            userRoles.DataBind();

            // bind all portal roles to dropdownlist
            IList <AppleseedRole> allRolesList = users.GetPortalRoles(this.PortalSettings.PortalAlias);


            // remove "All Users", "Authenticated Users" and "Unauthenticated Users" pseudo-roles
            AppleseedRole pseudoRole = new AppleseedRole(AppleseedRoleProvider.AllUsersGuid, AppleseedRoleProvider.AllUsersRoleName);

            if (allRolesList.Contains(pseudoRole))
            {
                allRolesList.Remove(pseudoRole);
            }
            pseudoRole = new AppleseedRole(AppleseedRoleProvider.AuthenticatedUsersGuid, AppleseedRoleProvider.AuthenticatedUsersRoleName);
            if (allRolesList.Contains(pseudoRole))
            {
                allRolesList.Remove(pseudoRole);
            }
            pseudoRole = new AppleseedRole(AppleseedRoleProvider.UnauthenticatedUsersGuid, AppleseedRoleProvider.UnauthenticatedUsersRoleName);
            if (allRolesList.Contains(pseudoRole))
            {
                allRolesList.Remove(pseudoRole);
            }

            allRoles.DataSource = allRolesList;
            allRoles.DataBind();
        }
Esempio n. 6
0
        public void AddUsersToRolesTest6()
        {
            try
            {
                AppleseedRoleProvider provider = Roles.Provider as AppleseedRoleProvider;

                AppleseedUser user  = (AppleseedUser)Membership.GetUser("*****@*****.**");
                Guid[]        users = new Guid[1];
                users[0] = user.ProviderUserKey;

                AppleseedRole role  = provider.GetRoleByName("Appleseed", "clerks");
                Guid[]        roles = new Guid[1];
                roles[0] = role.Id;

                provider.AddUsersToRoles("Appleseed", users, roles);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Assert.Fail("Error in AddUsersToRolesTest6" + ex.Message, ex);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// The BindData helper method is used to bind the list of
        /// security roles for this portal to an asp:datalist server control
        /// </summary>
        private void BindData()
        {
            // add the role name to the title
            if (roleId != Guid.Empty)
            {
                AppleseedRoleProvider roleProvider = (AppleseedRoleProvider)System.Web.Security.Roles.Provider;
                AppleseedRole         role         = roleProvider.GetRoleById(roleId);

                title.InnerText = General.GetString("ROLE_MEMBERSHIP") + role.Name;
            }

            // Get the portal's roles from the database
            UsersDB users = new UsersDB();

            // bind users in role to DataList
            usersInRole.DataSource = users.GetRoleMembers(roleId, this.PortalSettings.PortalAlias);
            usersInRole.DataBind();

            // bind all portal users to dropdownlist
            allUsers.DataSource = users.GetUsers(this.PortalSettings.PortalAlias);
            allUsers.DataBind();
        }
Esempio n. 8
0
        public void RemoveUsersFromRolesTest6()
        {
            try
            {
                AppleseedRoleProvider provider = Roles.Provider as AppleseedRoleProvider;

                Guid[] users = new Guid[1];
                users[0] = new Guid("BE7DC028-7238-45D3-AF35-DD3FE4AEFB7E"); //"*****@*****.**";

                AppleseedRole editors = provider.GetRoleByName("Appleseed", "salesman");
                Guid[]        roles   = new Guid[1];
                roles[0] = editors.Id;

                provider.RemoveUsersFromRoles("Appleseed", users, roles);
                Assert.Fail();
            }
            catch (AppleseedRoleProviderException) { }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Assert.Fail("Error in RemoveUsersFromRolesTest6" + ex.Message, ex);
            }
        }
Esempio n. 9
0
        /// <summary>
        /// The BindData helper method is used to bind the list of
        /// security roles for this portal to an asp:datalist server control
        /// </summary>
        private void BindData()
        {
            // Get the portal's roles from the database
            UsersDB users = new UsersDB();

            IList<AppleseedRole> roles = users.GetPortalRoles(this.PortalSettings.PortalAlias);

            // remove "All Users", "Authenticated Users" and "Unauthenticated Users" pseudo-roles
            AppleseedRole pseudoRole = new AppleseedRole(AppleseedRoleProvider.AllUsersGuid, AppleseedRoleProvider.AllUsersRoleName);
            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }
            pseudoRole = new AppleseedRole(AppleseedRoleProvider.AuthenticatedUsersGuid, AppleseedRoleProvider.AuthenticatedUsersRoleName);
            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }
            pseudoRole = new AppleseedRole(AppleseedRoleProvider.UnauthenticatedUsersGuid, AppleseedRoleProvider.UnauthenticatedUsersRoleName);
            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }

            rolesList.DataSource = roles;
            rolesList.DataBind();
        }
Esempio n. 10
0
        /// <summary>
        /// The BindData helper method is used to bind the list of
        /// security roles for this portal to an asp:datalist server control
        /// </summary>
        private void BindData()
        {
            // Bind the Email and Password
            UsersDB users = new UsersDB();

            Guid currentUserID = this.userID;// PortalSettings.CurrentUser.Identity.ProviderUserKey;
            // bind users in role to DataList
            IList<AppleseedRole> roles = new List<AppleseedRole>();
            try {
                roles = users.GetRolesByUser(currentUserID, this.PortalSettings.PortalAlias);
            } catch (Exception exc) {
                ErrorHandler.Publish(LogLevel.Error, exc);
            }
            userRoles.DataKeyField = "Id";
            userRoles.DataSource = roles;
            userRoles.DataBind();

            // bind all portal roles to dropdownlist
            IList<AppleseedRole> allRolesList = users.GetPortalRoles(this.PortalSettings.PortalAlias);

            // remove "All Users", "Authenticated Users" and "Unauthenticated Users" pseudo-roles
            AppleseedRole pseudoRole = new AppleseedRole(AppleseedRoleProvider.AllUsersGuid, AppleseedRoleProvider.AllUsersRoleName);

            if (allRolesList.Contains(pseudoRole))
            {
                allRolesList.Remove(pseudoRole);
            }
            pseudoRole = new AppleseedRole(AppleseedRoleProvider.AuthenticatedUsersGuid, AppleseedRoleProvider.AuthenticatedUsersRoleName);
            if (allRolesList.Contains(pseudoRole))
            {
                allRolesList.Remove(pseudoRole);
            }
            pseudoRole = new AppleseedRole(AppleseedRoleProvider.UnauthenticatedUsersGuid, AppleseedRoleProvider.UnauthenticatedUsersRoleName);
            if (allRolesList.Contains(pseudoRole))
            {
                allRolesList.Remove(pseudoRole);
            }

            allRoles.DataSource = allRolesList;
            allRoles.DataBind();
        }
Esempio n. 11
0
        private void generateTable()
        {
            PermissionsDB         permissions    = new PermissionsDB();
            List <PermissionInfo> PermissionList = permissions.Permissions();

            var assignedPermissions = permissions.AssignedPermissions();

            UsersDB users = new UsersDB();
            IList <AppleseedRole> roles = users.GetPortalRoles(this.PortalSettings.PortalAlias);

            AppleseedRole pseudoRole = new AppleseedRole(AppleseedRoleProvider.AllUsersGuid, AppleseedRoleProvider.AllUsersRoleName);

            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }

            pseudoRole = new AppleseedRole(AppleseedRoleProvider.AuthenticatedUsersGuid, AppleseedRoleProvider.AuthenticatedUsersRoleName);
            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }

            pseudoRole = new AppleseedRole(AppleseedRoleProvider.UnauthenticatedUsersGuid, AppleseedRoleProvider.UnauthenticatedUsersRoleName);
            if (roles.Contains(pseudoRole))
            {
                roles.Remove(pseudoRole);
            }

            roles = roles.Where(X => X.Name.ToLower() != "admins").ToList();
            if (RoleID != Guid.Empty)
            {
                roles = roles.Where(role => role.Id == RoleID).ToList();
            }

            StringBuilder s = new StringBuilder();

            s.Append("<div id='accessviewer'><table border='1'>");
            for (int i = 0; i < PermissionList.Count + 1; i++)
            {
                s.Append("<tr>");
                if (i == 0)
                {
                    s.Append("<td class='headcol'>Permission / Role</td>");
                }
                else
                {
                    s.Append("<td class='headcol'>" + PermissionList[i - 1].PermissionName + "</td>");
                }

                for (int j = 0; j < roles.Count; j++)
                {
                    if (i == 0)
                    {
                        s.Append("<td class='long'>" + roles[j].Name + "</td>");
                    }
                    else
                    {
                        var permis = assignedPermissions.FirstOrDefault(per => per.RoleID == roles[j].Id && per.PermissionID == PermissionList[i - 1].PermissionID);
                        if (permis == null)
                        {
                            s.Append("<td class='long'><input type='checkbox' id='" + PermissionList[i - 1].PermissionID + '#' + roles[j].Id + "'/></td>");
                        }
                        else
                        {
                            s.Append("<td class='long'><input type='checkbox' checked='checked' id='" + PermissionList[i - 1].PermissionID + '#' + roles[j].Id + "'/></td>");
                        }
                    }
                }

                s.Append("</tr>");
            }
            s.Append("</table></div>");
            ltrAccessViewer.Text = s.ToString();
        }