Во-первых, несколько начальных точек:
- Это для G-Suite Enterprise (на работе)
- У меня нет доступа к API-интерфейсу администратора, кроме
viewType: domain_public
- Я могу создавать, публиковать и развертывать Web-приложения
- Я знаю, что раздвигаю пределы / границы GAS, но это потому, что у меня нет доступак полноценной платформе разработки с веб-сервером, БД и т. д. Я уверен, что смогу заставить ГАЗ делать то, что я хочу / нуждаюсь - мне просто нужна помощь, чтобы выяснить, как это сделать.
Я хочу написать веб-приложение в GAS, в котором пользователи имеют различные возможности / разрешения / представления в веб-приложении .Для простоты и упрощения объяснения, скажем, я пишу систему запросов, где пользователи могут отправлять запросы в мою команду, чтобы что-то сделать.«БД» для веб-приложения будет различным Google Sheets.Он будет поддерживать все запросы, их статус, метаданные и т. Д. Я знаю, как это сделать без проблем.
Некоторые различные разрешения для веб-приложения:
- Отправить запрос
- Просмотреть запрос
- Редактировать запрос
- Удалить запрос
- Обновить определенное поле для запроса
Я не уверен, как лучше всего выполнить управление и применение этих разрешений.
До сих пор я думал о том, чтобы использовать Google Sheet для поддержки пользователей и разрешений:
- Публикация и развертывание веб-приложения для выполнения от имени меня
- Thisразрешит веб-приложению доступ к Google Sheets, доступ к которому есть только у меня
- . В указанном Google Sheet я буду вести список адресов электронной почты пользователей и их разрешения в веб-приложении
- Когда пользователь получает доступ к веб-приложению, код просматривает его на указанном листе и затем позволяет ему делать то, что ему разрешено
Я думаю, что это будет работать теоретически, но это не такуверен, насколько это будет безопасно.Может ли администратор, не являющийся G-Suite, подделать другого пользователя, получив доступ к веб-приложению и каким-либо образом передавая адрес электронной почты других пользователей в сеансе, чтобы веб-приложение считало, что это пользователь, а не реальный пользователь?(Я не беспокоюсь о том, что не администраторы G-Suite могут получить доступ к каким-либо из этих данных.)
Существуют ли какие-либо функции / функции GAS, которые мне не хватает, которые могут мне помочь?Есть ли лучший / другой способ достижения моей цели?