# Advanced Roles and Permissions

**URL:** <https://community.glideapps.com/t/advanced-roles-and-permissions/63607>\
**Category:** Ask for Help\
**Created:** [July 7, 2023, 2:46am UTC](https://community.glideapps.com/t/advanced-roles-and-permissions/63607 "2023-07-07T02:46:18Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)\
**Post date:** [July 7, 2023, 2:46am UTC](https://community.glideapps.com/t/advanced-roles-and-permissions/63607/1 "2023-07-07T02:46:18Z")

</div>

Hello,

I’m working on developing a permissions structure for a customer portal. Our system consists of three tables: Users, Organizations, and Projects.

We need a secure way to ensure that only users assigned to specific projects can access those projects.

Our initial approach was to use the ‘Org ID’ as a role and link each project to an organization.  
However, this isn’t feasible because some projects involve multiple organizations. For example, architects from different organizations can work on numerous projects owned by distinct General Contractor organizations.

Any advice?

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [July 7, 2023, 3:10am UTC](https://community.glideapps.com/t/advanced-roles-and-permissions/63607/2 "2023-07-07T03:10:10Z")

</div>

Can users be assigned to multiple projects at the same time?  
What is your Data Source?

---

<div class="post-metadata">

**Author:** ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)\
**Post date:** [July 7, 2023, 3:21am UTC](https://community.glideapps.com/t/advanced-roles-and-permissions/63607/3 "2023-07-07T03:21:22Z")

</div>

Yes, users can be assigned multiple projects at the same time.

Google Sheets for this particular project.  
Have similar projects coming up where I’ll be using Glide Tables.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [July 7, 2023, 3:27am UTC](https://community.glideapps.com/t/advanced-roles-and-permissions/63607/4 "2023-07-07T03:27:51Z")

</div>

Okay, so my initial thought was you might be able to use the ProjectIDs as a Role. That could work with Google Sheets, but there would be a limit of 9 Roles (Projects) per user.

It wouldn’t work with Glide tables, because it’s impossible to assign more than one role to a user. With Glide Tables, I think your only viable option would be multiple owner columns.

---

<div class="post-metadata">

**Author:** ![Eden](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eden/32/18651_2.png) [@Eden](https://community.glideapps.com/u/Eden)\
**Post date:** [July 7, 2023, 3:49am UTC](https://community.glideapps.com/t/advanced-roles-and-permissions/63607/5 "2023-07-07T03:49:41Z")

</div>

Why the limit of 9 projects?

And I’m trying to think of an outside-the-box sort of approach… There must be something which works in a scaleable way.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [July 7, 2023, 3:56am UTC](https://community.glideapps.com/t/advanced-roles-and-permissions/63607/6 "2023-07-07T03:56:49Z")

</div>

It’s a limit that’s imposed by Glide. No more than 9 roles per user.

For an out of the box option, take a look at this [post](https://community.glideapps.com/t/row-owners-via-dynamic-array/16600/17) from @ThinhDinh. Very clever workaround for creating a dynamic Owner array, that auto-increases in size as required. But again, only possible with Google Sheets.

With Glide Tables, the only thing you could do is make sure you have enough owner columns predefined. If somebody could suggest a better way, I’d be all ears.
