android动态访问权限,android – Firebase规则:动态授予特定用户访问权限
在客户端
你可以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规则:动态授予特定用户访问权限相关推荐
- linux apache目录权限配置,Linux系统架构-----Apache的用户访问权限的设置
目录 一.Apache的连接保持 二.Apache的访问控制 三.用户访问控制的实验 一.Apache的连接保持 Apache通过设置配置文件httpd-default.conf中相关的连接保持参数来 ...
- ios 请在设置中打开相机权限_开启运动与健身权限 iOS10相机相册等权限的使用、检测并引导用户开启权限 - 非主流娱乐网...
开启运动与健身权限 iOS10相机相册等权限的使用.检测并引导用户开启权限 2019-04-09 01:01:34 来源: 非主流娱乐网责任编辑:小s0条评论 NSPhotoLibraryUsageD ...
- android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限
在8.1以后不再通过一个未知来源的布尔值来开启未知来源权限了,需要通过授予权限来默认安装第三方权限,否则会弹出 授权安装第三方app权限同意后才能继续安装显得有些麻烦 1.在AppOpsManager ...
- android 11.0 去掉未知来源弹窗 默认授予安装未知来源权限
在11.0原生系统中对于安装第三方app会弹出未知来源弹窗确认以后才允许安装 这样显得有些麻烦,所以默认是去掉安装未来来源的 要授予未知来源权限的 1.在AppOpsManager.java中授予未知 ...
- mysql权限最小化规则_mysql授权远程用户连接(权限最小化原则)
1.进入mysql,创建一个新用户root,密码为root: 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码"; gra ...
- oracle权限培训,【必看】Oracle用户、权限、角色管理
二.系统权限管理 1.系统权限分类: DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构. RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构. C ...
- linux 查看权限命令行,【linux】与 用户、权限 有关的常用命令
查看信息 查看文件.文件夹的filesystem metadata # 查看**单个**文件.文件夹的权限信息 stat filename # 或者使用以下命令来查看当前目录下**所有**文件.文件夹 ...
- java记录访问次数_Java 利用监听器来实现记录用户访问网站次数(示例代码)
假如有这么一个需求,要记录所有用户访问某一页面的次数. 最先想到的可能是在该Controller定义一个静态成员,然后在相应Action里自增.但这样有一个问题,就是Tomcat或者其他服务器重启的话 ...
- MySql:从任何主机授予根用户登录权限
Note that this is Not very secure, and should only be used for a local development box where you don ...
最新文章
- 户外lisp导向牌如何安装_有了激光切割导向牌,妈妈再也不用担心我迷路啦
- Tomcat+Apache 负载均衡
- RGB转YUV 各种库的性能比较
- socket 编程入门教程(一)TCP server 端:1、建模
- php 模板 自定义函数调用,thinkphp模板中使用自定义函数
- Android 签名板
- 【专题5: 硬件设计】 之 【62.案例四:简易空气净化器,完整原理图】
- Linux系统故障分析与排查
- Work Stealing 的运作原理
- win32API网址
- 华硕天选3和联想拯救者r9000p哪个好
- 玩转无线路由DD-WRT特色功能
- 【深度学习】精度超越 ConvNeXt 的新 CNN!HorNet:通过递归门控卷积实现高效高阶的空间信息交互...
- 请求接口参数正确请求失败的问题
- java dscape_包含Java脚本的Python漂亮的Soup scape页面
- CCF201612-2工资计算
- jodd忽略ssl证书_2.使用jodd 操作mysql数据库
- 清华计算机系2018录取分数线,清华大学2018年各省录取分数线
- 免费语音转字幕功能介绍
- 第三章第三十题(当前时间)(Current time)
热门文章
- 【Ray Tracing in One Weekend 超详解】 光线追踪1-7 Dielectric 半径为负,实心球体镂空技巧...
- QualityCenter的备份
- 《ASCE1885的源码分析》の基于完成端口模型的TCP服务器框架
- 和身份证有关的5个Excel函数公式
- 微信小程序开发02-小程序基本介绍
- BZOJ 1088 扫雷
- Linux-Rsync命令参数详解
- HDU 3613 Best Reward 正反两次扩展KMP
- 构造函数和析构函数能不能是虚函数
- MATLAB R2021a v9.10 for win 最新无限制中英文完美版 数据处理软件