`
notfatboy
  • 浏览: 237263 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Security and Permissions安全与权限(三)

阅读更多

Using Permissions 使用权限

A basic Android application has no permissions associated with it, meaning it can not do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more <uses-permission> tags declaring the permissions that your application needs.
一个基本的Android程序通常是没有任何permissions与之关联的,这就是说它不能做任何扰乱用户或破坏数据的勾当。那么为了使用设备被保护的features,我们就必须在AndroidManifest.xml添加一个或多个<uses-permission> 标签,用以声明你的应用程序需要的permissions.

下面是个例子,不翻译啦!


For example, an application that needs to monitor incoming SMS messages would specify:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.app.myapp" >

    <uses-permission android:name="android.permission.RECEIVE_SMS" />

</manifest>

 


At application install time, permissions requested by the application are granted to it by the package installer, based on checks against the signatures of the applications declaring those permissions and/or interaction with the user. No checks with the user are done while an application is running: it either was granted a particular permission when installed, and can use that feature as desired, or the permission was not granted and any attempt to use the feature will fail without prompting the user.
应用程序安装的时候,应用程序请求的permissions是通过package installer来批准获取的。package installer是通过检查该应用程序的签名和/或用户的交换结果来确定是否给予该程序request的权限。在用户使用过程中不会去检查权限,也就是说要么在安装的时候就批准该权限,使其按照设计可以使用该权限;要么就不批准,这样用户也就根本无法使用该feature,也不会有任何提示告知用户尝试失败。


Often times a permission failure will result in a SecurityException being thrown back to the application. However, this is not guaranteed to occur everywhere. For example, the sendBroadcast(Intent) method checks permissions as data is being delivered to each receiver, after the method call has returned, so you will not receive an exception if there are permission failures. In almost all cases, however, a permission failure will be printed to the system log.
很多时候, 一个permission failure会导致一个SecurityException被抛回该应用程序. 但是Android并不保证这种情况会处处发生。例如,当数据被deliver到每一个receiver的时候,sendBroadcast(Intent) 方法会去检查permissions,在这个方法调用返回之后,你也不会收到任何exception。几乎绝大多数情况,一个permission failure都会打印到log当中。


The permissions provided by the Android system can be found at Manifest.permission. Any application may also define and enforce its own permissions, so this is not a comprehensive list of all possible permissions.
Android系统定义的权限可以在Manifest.permission中找到。任何一个程序都可以定义并强制执行自己独有的permissions,因此Manifest.permission中定义的permissions并不是一个完整的列表(即有肯能有自定义的permissions)。


A particular permission may be enforced at a number of places during your program's operation:
一个特定的permission可能会在程序操作的很多地方都被强制实施:


At the time of a call into the system, to prevent an application from executing certain functions.

当系统有来电的时候,用以阻止程序执行其它功能。
When starting an activity, to prevent applications from launching activities of other applications.

当启动一个activity的时候,会阻止应用程序启动其它应用的Acitivity。
Both sending and receiving broadcasts, to control who can receive your broadcast or who can send a broadcast to you.

在发送和接收广播的时候,去控制谁可以接收你的广播或谁可以发送广播给你。
When accessing and operating on a content provider.

当进入并操作一个content provider的时候
Binding or starting a service.

当绑定或开始一个service的时候

分享到:
评论

相关推荐

    Security Managers and Permissions

    在Java编程语言中,安全管理器(Security Manager)和权限(Permissions)是确保应用程序安全的关键组件。它们构成了Java安全模型的核心,防止恶意代码对系统资源进行未经授权的访问或操作。这篇博文将深入探讨这两...

    Android开发—知识点精讲10—签名、权限、组件安全、文件与用户安全视频教程下载(15课程).txt

    #### 文件与用户安全(File and User Security) - **文件存储安全**:Android提供了多种存储方案,包括内部存储、外部存储和SQLite数据库等。每种方案都有其特点和适用场景,在选择存储方式时需要考虑数据的安全性和...

    权限设计(包括表结构)

    permissions design is a critical component of any system, and its primary goal is to ensure that each user in the system has the appropriate permissions, thereby ensuring the system's security and ...

    Document-security-and-permissions.rar_Windows编程_Unix_Linux_

    标题中的“Document-security-and-permissions.rar”提示我们这个压缩包主要关注的是文档安全与权限管理,这在操作系统中是至关重要的部分,特别是对于多用户环境如Windows、Unix和Linux而言。接下来,让我们深入...

    Fratantonio-Cloak-And-Dagger-From-Two-Permissions-To-Complete-C

    【Fratantonio-Cloak-And-Dagger-From-Two-Permissions-To-Complete-Control-Of-The-UI-Feedback-Loop】 这篇论文是关于移动安全领域的一个重要研究,由Yanick Fratantonio与其他研究人员合作完成,并在2017年的...

    文件及文件夹权限设置(vb.net)

    `System.Security.AccessControl`命名空间提供了`FileSystemSecurity`类,它允许我们直接操作文件和目录的安全描述符,以设置NTFS权限。`FileSystemAccessRule`用于定义具体的访问规则。 ```vbnet Dim dir As New ...

    Java动态权限管理

    对于Web服务和API的权限管理,OAuth2.0协议和OpenID Connect标准可以提供基于令牌(Token)的访问控制,允许用户授权第三方应用访问其资源,同时保护用户信息的安全。 8. **权限策略设计**: 设计合理的权限策略...

    Java EE Security (JSR-375) Reference Implementation.zip

    3. **Roles and Permissions**: JSR 375引入了更强大的角色和权限管理。除了传统的基于角色的安全性(RBAC),它还支持基于资源的访问控制(RBAC),使得权限管理更加灵活和精确。 4. **IdentityStore**: 这是一个...

    spring-security

    4. **Roles and Permissions**: 在 Spring Security 中,角色(Role)和权限(Permission)用于定义用户可以执行的操作。角色通常是一组权限的集合,而权限是具体的操作,如 "READ_FILE" 或 "UPDATE_USER"。 5. **...

    JSP 权限管理系统

    3. **角色与权限(Roles and Permissions)**:系统将用户分为不同的角色,如管理员、普通用户等,每个角色拥有不同的操作权限。权限是预定义的规则,定义了用户可以执行哪些操作,例如查看、编辑、删除等。 4. **...

    JAVA 2平台安全技术-结构,API设计和实现

    - 安全上下文(Security Context):记录当前线程的安全信息,如执行主体(Principal)和其权限。 - 认证与授权:JAAS提供了一种框架,允许应用程序进行用户身份验证和角色授权。 6. **实践应用**: - Web应用...

    sun权限管理说明文档

    在IT行业中,权限管理是确保系统安全性和数据保护的关键环节。在"Sun Java System Application Server Enterprise Edition 8.2 管理指南"中,它详细介绍了如何在Sun的Java应用服务器环境中实施有效的权限控制。这...

    JAVA安全性第二部分 认证与授权

    例如,Java Authentication and Authorization Service (JAAS) 提供了实现不同认证协议(如Kerberos、NTLM或SSL/TLS)的接口和类,使得应用可以与各种安全域进行交互。 接下来,我们讨论授权(Authorization)。...

    JAVA安全相关资料

    Java Security Model由类加载器、权限检查和安全管理器组成。 2. **类加载器**:Java的类加载器负责加载和验证类文件,它是安全模型的关键组成部分。不同的类加载器有不同的权限范围,这有助于隔离和控制不同来源的...

    JJAVA2平台安全技术-结构API设计和实现.rar

    3. **安全管理者(Security Manager)**:Java应用程序可以设置一个安全管理者,它执行权限检查以确定代码是否被授权执行特定操作。这是Java安全模型的关键组件。 4. **权限(Permissions)**:权限定义了代码可以...

    基于Java的两个通用安全模块的设计与实现.rar

    6. **网络与安全协议**:如果模块涉及到网络通信,可能涉及到HTTPS、SSL/TLS等安全协议,用于保护网络传输的数据。 7. **异常处理与日志记录**:为了确保系统的健壮性,项目可能包含适当的异常处理机制,并使用如...

    flask-security:Flask应用程序的快速简单安全性

    **Flask-Security:快速构建Flask应用的安全性** Flask-Security是针对Python的轻量级Web框架Flask的一个扩展,它简化了在Flask应用中集成安全特性的过程。尽管这个项目已经不再维护,但其源代码和文档仍然可以作为...

    JavaSecuritySolutions

    10. **Java权限(Permissions)**:`java.security.Permission`类及其子类(如`FilePermission`、`SocketPermission`等)表示特定的操作权限。`java.security.ProtectionDomain`则包含了一组权限和认证信息。 11. *...

    liferay 4.0 userguide.pdf

    #### 三、安全性和权限(Security and Permissions) 安全性与权限是Liferay的重要组成部分,确保数据安全的同时还能够灵活地分配权限。 ##### 引言(Introduction) - **实体定义(Entity Definitions)**:包括资源...

    阿里技术分享 Android中的应用程序沙箱 共30页.pptx

    Android 平台还提供了多种安全机制,如 System Partition and Safe Mode、Filesystem Permissions、Filesystem Encryption、Password Protection、Device Administration、Memory Management Security Enhancements...

Global site tag (gtag.js) - Google Analytics