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
$ git clone https://github.com/redhat-developer/redhat-sso-quickstarts
我们即将构建和部署的应用位于
cd redhat-sso-quickstarts/app-authz-jee-vanilla
$ cd redhat-sso-quickstarts/app-authz-jee-vanilla
2.4.1. 获取适配器配置 复制链接链接已复制到粘贴板!
在构建和部署应用程序前,您必须首先获取适配器配置。
流程
- 登录 Admin 控制台。
- 点菜单中的 Clients。
在客户端列表中,单击 app-authz-vanilla 客户端应用。此时会打开 Client Settings 页面。
客户端设置
- 点 Installation 选项卡。
在 Format Options 项中选择 Keycloak OIDC JSON。
适配器配置以 JSON 格式显示。
点 Download。
适配器配置
-
将文件
keycloak.json
移到app-authz-jee-vanilla/config
目录。 (可选)指定重定向 URL。
默认情况下,当用户在资源服务器上访问受保护的资源的权限时,策略强制r 用
403
状态代码进行响应。但是,您还可以为未授权的用户指定重定向 URL。要指定重定向 URL,请编辑您更新的 keycloak.json 文件,并使用以下内容替换policy-enforcer
配置:"policy-enforcer": { "on-deny-redirect-to" : "/app-authz-vanilla/error.jsp" }
"policy-enforcer": { "on-deny-redirect-to" : "/app-authz-vanilla/error.jsp" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果用户没有访问受保护资源所需的权限,则这个更改会指定将用户重定向到
/app-authz-vanilla/error.jsp
页面,而不是返回一个403 Unauthorized
信息。
2.4.2. 构建和部署应用程序 复制链接链接已复制到粘贴板!
要构建和部署应用程序,请执行以下命令:
cd redhat-sso-quickstarts/app-authz-jee-vanilla mvn clean package wildfly:deploy
$ cd redhat-sso-quickstarts/app-authz-jee-vanilla
$ mvn clean package wildfly:deploy
2.4.3. 测试应用程序 复制链接链接已复制到粘贴板!
如果您的应用程序已被成功部署,您可以在 http://localhost:8080/app-authz-vanilla 访问它。Red Hat Single Sign-On Login 页面将打开。
登录页面
流程
以 alice 身份登录,使用您为该用户指定的密码。此时会显示以下页面:
hello World Authz 主页
当您为客户端应用程序启用授权服务时,红帽单点登录定义 的默认设置 提供了一个简单策略,始终授予对此策略保护的资源的访问权限。
您可以首先更改默认权限和策略,并测试应用程序如何响应,甚至使用 Red Hat Single Sign-On 提供的不同 策略类型 创建新策略。
现在您可以做很多事情来测试此应用程序。例如,您可以通过单击客户端的 Authorization
选项卡来更改默认策略,然后单击 Policies
选项卡中的客户端,然后单击列表中的 Default Policy
。现在,我们将使用此页面中的下拉列表将 Logic
改为 Negative
。
从演示应用程序注销,然后再次登录。
您无法再访问应用程序。
2.4.4. 后续步骤 复制链接链接已复制到粘贴板!
您可以执行其他操作,例如:
- 创建范围,为它定义策略和权限,并在应用程序侧进行测试。用户可以执行操作(或由您创建的范围代表的任何其他项)?
-
创建不同类型的策略,并将这些策略与
Default Permission
相关联。 -
将多个策略应用到
默认权限
并测试其行为。例如,组合多个策略并相应地更改决策策略
。