美文网首页android
IPC 进行权限验证

IPC 进行权限验证

作者: 静享时光 | 来源:发表于2020-05-06 00:12 被阅读0次

我们的运远程服务是不希望任何人都可以访问的。所以需要进行权限验证。

方法一,在Binder中验证

自定义权限

<permission
        android:name="com.example.jinghuang.demo2020.ACCESS_BOOK_SERVICE"
        android:protectionLevel="normal" />

添加权限

 <uses-permission android:name="com.example.jinghuang.demo2020.ACCESS_BOOK_SERVICE" />

进行权限验证

  @Nullable
   @Override
   public IBinder onBind(Intent intent) {
       int check = checkCallingOrSelfPermission("com.example.jinghuang.demo2020.ACCESS_BOOK_SERVICE");
       //没有权限直接返回null
       if (check == PackageManager.PERMISSION_DENIED) {
           return null;
       }
       return mBinder;
   }

方法二、通过服务端的onTransact方法,通过uid来校验

第一步,需要申请权限,具体的看方法一
第二步,添加权限
第三步,使用

 @Override
        public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException {
            int check = checkCallingOrSelfPermission("com.example.jinghuang.demo2020.ACCESS_BOOK_SERVICE");
            //没有权限直接返回null
            if (check == PackageManager.PERMISSION_DENIED) {
                return false;
            }

            String pacakName = null;
            String[] packagesForUid = getPackageManager().getPackagesForUid(getCallingUid());
            if (packagesForUid != null && packagesForUid.length > 0) {
                pacakName = packagesForUid[0];
            }
            if (EmptyUtils.isNoEmpty(pacakName) && !pacakName.startsWith("com.example.")) {
                return false;
            }

            return super.onTransact(code, data, reply, flags);
        }
    };

相关文章

  • IPC 进行权限验证

    我们的运远程服务是不希望任何人都可以访问的。所以需要进行权限验证。 方法一,在Binder中验证 自定义权限 添加...

  • 阿里云上传图片成功 回调报302

    因为系统用了security做权限控制,所以会进行sesseion_id、session 权限等验证,然而忘了过...

  • 【本人秃顶程序员】SpringBoot从零单排——拦截器的使用

    ←←←←←←←←←←←← 快!点关注 在项目开发中我们常常需要对请求进行验证,如登录校验、权限验证、防止重复提交等...

  • SpringBoot使用tools-auth进行权限认证

    简单快速的在项目中进行权限验证 一、导入依赖 二、权限注解 该注解使用在API上,用于对用户请求方法时进行身份认证...

  • 8.3 django 权限和分组

    权限和分组 登录、注销和登录限制: 登录 在使用authenticate进行验证后,如果验证通过了。那么会返回一个...

  • 最浅显易懂的Django系列教程(47)-权限和分组

    权限和分组 登录、注销和登录限制: 登录 在使用authenticate进行验证后,如果验证通过了。那么会返回一个...

  • 拦截器模式实践

    为操作验证权限 点击按钮——弹出权限验证框——输入用户名和密钥——立即验证/生成bean——验证通过——正真的点击事件

  • Laravel-表单验证

    独立验证类 权限验证方法 验证规则 抛出错误

  • sa-token 之权限验证

    权限验证 核心思想 所谓权限验证,验证的核心就是当前账号是否拥有一个权限码有:就让你通过、没有:那么禁止访问再往底...

  • PHP 权限管理 位运算

    最近在搞一个权限管理,就是通过位或运算来验证权限,来分享一下实现原理。 权限管理,核心就是权限分配和权限验证两点。...

网友评论

    本文标题:IPC 进行权限验证

    本文链接:https://www.haomeiwen.com/subject/hpmbghtx.html