2.4. 构建、部署和测试您的应用程序


现在,app-authz-vanilla 资源服务器(或客户端)已正确配置和授权服务被启用,可以将其部署到服务器。

Red Hat Single Sign-On Quickstarts Repository 中提供了您要部署的应用程序的项目和代码。您需要在您的机器中安装以下内容,并在 PATH 中可用,然后才能继续:

  • Java JDK 8
  • Apache Maven 3.1.1 或更高版本
  • Git

您可以通过克隆软件仓库(位于 https://github.com/redhat-developer/redhat-sso-quickstarts )来获取代码。使用与正在使用的红帽单点登录版本匹配的分支。

按照以下步骤下载代码。

克隆项目

$ git clone https://github.com/redhat-developer/redhat-sso-quickstarts
Copy to Clipboard Toggle word wrap

我们即将构建和部署的应用位于

$ cd redhat-sso-quickstarts/app-authz-jee-vanilla
Copy to Clipboard Toggle word wrap

2.4.1. 获取适配器配置

在构建和部署应用程序前,您必须首先获取适配器配置。

流程

  1. 登录 Admin 控制台。
  2. 点菜单中的 Clients
  3. 在客户端列表中,单击 app-authz-vanilla 客户端应用。此时会打开 Client Settings 页面。

    客户端设置

    Client Settings

  4. Installation 选项卡。
  5. 在 Format Options 项中选择 Keycloak OIDC JSON

    适配器配置以 JSON 格式显示。

  6. Download

    适配器配置

    Adapter configuration

  7. 将文件 keycloak.json 移到 app-authz-jee-vanilla/config 目录。
  8. (可选)指定重定向 URL。

    默认情况下,当用户在资源服务器上访问受保护的资源的权限时,策略强制r 用 403 状态代码进行响应。但是,您还可以为未授权的用户指定重定向 URL。要指定重定向 URL,请编辑您更新的 keycloak.json 文件,并使用以下内容替换 policy-enforcer 配置:

    "policy-enforcer": {
        "on-deny-redirect-to" : "/app-authz-vanilla/error.jsp"
    }
    Copy to Clipboard Toggle word wrap

    如果用户没有访问受保护资源所需的权限,则这个更改会指定将用户重定向到 /app-authz-vanilla/error.jsp 页面,而不是返回一个 403 Unauthorized 信息。

2.4.2. 构建和部署应用程序

要构建和部署应用程序,请执行以下命令:

$ cd redhat-sso-quickstarts/app-authz-jee-vanilla
$ mvn clean package wildfly:deploy
Copy to Clipboard Toggle word wrap

2.4.3. 测试应用程序

如果您的应用程序已被成功部署,您可以在 http://localhost:8080/app-authz-vanilla 访问它。Red Hat Single Sign-On Login 页面将打开。

登录页面

Login page

流程

  1. alice 身份登录,使用您为该用户指定的密码。此时会显示以下页面:

    hello World Authz 主页

    Hello World Authz main page

    当您为客户端应用程序启用授权服务时,红帽单点登录定义 的默认设置 提供了一个简单策略,始终授予对此策略保护的资源的访问权限。

您可以首先更改默认权限和策略,并测试应用程序如何响应,甚至使用 Red Hat Single Sign-On 提供的不同 策略类型 创建新策略。

现在您可以做很多事情来测试此应用程序。例如,您可以通过单击客户端的 Authorization 选项卡来更改默认策略,然后单击 Policies 选项卡中的客户端,然后单击列表中的 Default Policy。现在,我们将使用此页面中的下拉列表将 Logic 改为 Negative

  1. 从演示应用程序注销,然后再次登录。

    您无法再访问应用程序。

    Access Denied page

2.4.4. 后续步骤

您可以执行其他操作,例如:

  • 创建范围,为它定义策略和权限,并在应用程序侧进行测试。用户可以执行操作(或由您创建的范围代表的任何其他项)?
  • 创建不同类型的策略,并将这些策略与 Default Permission 相关联。
  • 将多个策略应用到 默认权限 并测试其行为。例如,组合多个策略并相应地更改 决策策略
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat