在 Liberty 概要文件上为应用程序配置授权

为应用程序配置授权是要验证用户或组是否属于指定的角色,以及此角色是否具有访问资源的权限。

关于此任务

Liberty 概要文件服务器从用户注册表中抽取用户和组映射信息,然后检查应用程序的授权配置,以确定是否已将用户或组指定给所需角色。然后,服务器会读取应用程序的部署描述符,以确定用户或组是否具有访问资源的权限。

过程

  1. server.xml 文件中启用 appSecurity-2.0 Liberty 功能部件。
    例如:
        <featureManager>
            <feature>appSecurity-2.0</feature>
        </featureManager>
  2. 在 Liberty 概要文件服务器上配置用于认证的用户注册表。

    请参阅在 Liberty 概要文件中认证用户

  3. 确保应用程序的部署描述符包含安全性约束及其他安全性相关信息。
    注: 您也可以使用 Rational® Application Developer 等工具来创建部署描述符。
  4. 配置授权信息,例如用户和组到角色的映射。
    可以采用下列方式来配置和授权表:
    • 如果具有 EAR 文件,那么可以将授权配置定义添加到 ibm-application-bnd.xmlibm-application-bnd.xmi 文件。
    • 如果具有独立 WAR 文件,那么可以将授权表定义添加到 server.xml 文件中相应的应用程序元素下。可使用 WebSphere® Application Server Developer Tools for Eclipse 执行此操作。
    注释:
    • 如果具有 EAR 文件,那么授权配置可能已存在。在已写入当前规范的 EAR 文件中,此信息存储在 ibm-application-bnd.xml 文件中;在较旧的 EAR 文件中,此信息存储在 ibm-application-bnd.xmi 文件中。
    • 如果 EAR 文件尚不含 ibm-application-bnd.xm* 文件,那么由于创建该文件的任务不是很直观,您可能更愿意将授权配置添加到 server.xml 文件。
    • 如果 EAR 文件的授权配置是在 ibm-application-bnd.xm* 文件中进行定义,并且也在 server.xml 文件中进行定义,那么会将这两个表合并。如果存在任何冲突,那么将使用 server.xml 文件中的信息。
    • 如果修改用户注册表,请确保复审授权表以进行必要的更改。例如,如果要指定 access-id 元素并更改注册表的域名,那么也必须在 access-id 元素中更改域名。
    • 如果在 server.xml 文件中指定 application-bnd 元素,那么您的应用程序不得位于 dropins 文件夹中。如果您的应用程序保留在 dropins 文件夹中,那么必须通过在 server.xml 文件中设置下列项目来禁用应用程序监视:
      <applicationMonitor dropinsEnabled="false" />

    可以将角色映射到用户、组或特殊主体集。这两种特殊主体集是 EVERYONEALL_AUTHENTICATED_USERS。将角色映射到 EVERYONE 特殊主体集时,没有任何安全性,因为每个人都可以访问,而且不会提示您输入凭证。将角色映射到 ALL_AUTHENTICATED_USERS 特殊主体集时,应用程序服务器已认证的任何用户随后都可以访问受保护资源。

    下面的代码举例说明了在 server.xml 文件中配置用户和组到角色的映射:
    <application type="war" id="myapp" name="myapp" location="${server.config.dir}/apps/myapp.war">
    	<application-bnd>
    				<security-role name="user">
    						<group name="students" />
    		</security-role>
    				<security-role name="admin">
    						<user name="gjones" />
                <group name="administrators" />
    		</security-role>
    		<security-role name="AllAuthenticated">
    			<special-subject type="ALL_AUTHENTICATED_USERS" />
    		</security-role>
    	</application-bnd>
    </application>

    在此示例中,admin 角色映射到用户标识 gjones 及组 administrators 中的所有用户。AllAuthenticatedRole 映射到特殊主体集 ALL_AUTHENTICATED_USERS,这表示任何用户只要提供有效的凭证进行认证,就具有访问权。


用于指示主题类型的图标 任务主题

信息中心的条款和条件 | 反馈


时间戳记图标 最近一次更新时间: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_sec_rolebased
文件名:twlp_sec_rolebased.html