在客户端

你可以use custom File Metadata.它的作用是添加一个Map< String,String>到文件的元数据.由于Map中的键是唯一的,因此您可以将用户B的id存储为键,并使用空字符串作为值:

StorageMetadata metadata = new StorageMetadata.Builder()

.setCustomMetadata(userId,"") //User B's id

.build();

然后使用updateMetadata()方法共享文件:

picture1Ref.updateMetadata(metadata)

.addOnSuccessListener(new OnSuccessListener() {

@Override

public void onSuccess(StorageMetadata storageMetadata) {

// Updated metadata is in storageMetadata

}

})

.addOnFailureListener(new OnFailureListener() {

@Override

public void onFailure(@NonNull Exception exception) {

// Uh-oh, an error occurred!

}

});

在Firebase控制台上

然后,为了在Firebase端进行验证,您可以将规则设置如下:

service firebase.storage {

match /b/{bucket}/o {

match /images/{userId}/{pictureName}{

allow write: if request.auth.uid == userId;

allow read: if request.auth.uid == userId || request.auth.uid in resource.metadata.keys();

}

}

}

与更多用户分享

如果您想与更多用户共享同一个文件(假设用户C和D),您可以重复将其ID传递给自定义元数据的相同步骤,因为只更新元数据中指定的属性而所有其他属性保持不变.

撤消用户访问权限

如果要撤消特定用户的访问权限,可以将空值设置为自定义元数据,然后再次调用updateMetadata().

StorageMetadata metadata = new StorageMetadata.Builder()

.setCustomMetadata(userId, null)

.build();

android动态访问权限,android – Firebase规则:动态授予特定用户访问权限相关推荐

  1. linux apache目录权限配置,Linux系统架构-----Apache的用户访问权限的设置

    目录 一.Apache的连接保持 二.Apache的访问控制 三.用户访问控制的实验 一.Apache的连接保持 Apache通过设置配置文件httpd-default.conf中相关的连接保持参数来 ...

  2. ios 请在设置中打开相机权限_开启运动与健身权限 iOS10相机相册等权限的使用、检测并引导用户开启权限 - 非主流娱乐网...

    开启运动与健身权限 iOS10相机相册等权限的使用.检测并引导用户开启权限 2019-04-09 01:01:34 来源: 非主流娱乐网责任编辑:小s0条评论 NSPhotoLibraryUsageD ...

  3. android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限

    在8.1以后不再通过一个未知来源的布尔值来开启未知来源权限了,需要通过授予权限来默认安装第三方权限,否则会弹出 授权安装第三方app权限同意后才能继续安装显得有些麻烦 1.在AppOpsManager ...

  4. android 11.0 去掉未知来源弹窗 默认授予安装未知来源权限

    在11.0原生系统中对于安装第三方app会弹出未知来源弹窗确认以后才允许安装 这样显得有些麻烦,所以默认是去掉安装未来来源的 要授予未知来源权限的 1.在AppOpsManager.java中授予未知 ...

  5. mysql权限最小化规则_mysql授权远程用户连接(权限最小化原则)

    1.进入mysql,创建一个新用户root,密码为root: 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码"; gra ...

  6. oracle权限培训,【必看】Oracle用户、权限、角色管理

    二.系统权限管理 1.系统权限分类: DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构. RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构. C ...

  7. linux 查看权限命令行,【linux】与 用户、权限 有关的常用命令

    查看信息 查看文件.文件夹的filesystem metadata # 查看**单个**文件.文件夹的权限信息 stat filename # 或者使用以下命令来查看当前目录下**所有**文件.文件夹 ...

  8. java记录访问次数_Java 利用监听器来实现记录用户访问网站次数(示例代码)

    假如有这么一个需求,要记录所有用户访问某一页面的次数. 最先想到的可能是在该Controller定义一个静态成员,然后在相应Action里自增.但这样有一个问题,就是Tomcat或者其他服务器重启的话 ...

  9. MySql:从任何主机授予根用户登录权限

    Note that this is Not very secure, and should only be used for a local development box where you don ...

最新文章

  1. 户外lisp导向牌如何安装_有了激光切割导向牌,妈妈再也不用担心我迷路啦
  2. Tomcat+Apache 负载均衡
  3. RGB转YUV 各种库的性能比较
  4. socket 编程入门教程(一)TCP server 端:1、建模
  5. php 模板 自定义函数调用,thinkphp模板中使用自定义函数
  6. Android 签名板
  7. 【专题5: 硬件设计】 之 【62.案例四:简易空气净化器,完整原理图】
  8. Linux系统故障分析与排查
  9. Work Stealing 的运作原理
  10. win32API网址
  11. 华硕天选3和联想拯救者r9000p哪个好
  12. 玩转无线路由DD-WRT特色功能
  13. 【深度学习】精度超越 ConvNeXt 的新 CNN!HorNet:通过递归门控卷积实现高效高阶的空间信息交互...
  14. 请求接口参数正确请求失败的问题
  15. java dscape_包含Java脚本的Python漂亮的Soup scape页面
  16. CCF201612-2工资计算
  17. jodd忽略ssl证书_2.使用jodd 操作mysql数据库
  18. 清华计算机系2018录取分数线,清华大学2018年各省录取分数线
  19. 免费语音转字幕功能介绍
  20. 第三章第三十题(当前时间)(Current time)

热门文章

  1. 【Ray Tracing in One Weekend 超详解】 光线追踪1-7 Dielectric 半径为负,实心球体镂空技巧...
  2. QualityCenter的备份
  3. 《ASCE1885的源码分析》の基于完成端口模型的TCP服务器框架
  4. 和身份证有关的5个Excel函数公式
  5. 微信小程序开发02-小程序基本介绍
  6. BZOJ 1088 扫雷
  7. Linux-Rsync命令参数详解
  8. HDU 3613 Best Reward 正反两次扩展KMP
  9. 构造函数和析构函数能不能是虚函数
  10. MATLAB R2021a v9.10 for win 最新无限制中英文完美版 数据处理软件