openxava
博客

2022年9月27号

XavaPro 7.0 已发布

XavaPro 7.0 具有以下新特点:

  • 对 Maven 的支持。
  • 在优化或覆盖默认身份验证逻辑时能自定义代码。 
  • 适用于 OpenXava 7.0。
了解更多有关 XavaPro 的信息

对 Maven 的支持

我们费了很大的心来重构 XavaPro,使其兼容 Maven 。因此,现在从 OpenXava 升级到 XavaPro 以及升级到更新版本的 XavaPro 变得更加容易。
要从 XavaPro 6.x 升级到 XavaPro 7,请执行以下步骤:

  1. 在 Maven 本地存储库中安装 XavaPro。如果您是企业套餐客户,您将收到 XavaPro 7 的档案,其中包含如何在您存储库中安装的说明。
  2. 使用 OpenXava Studio 7 创建一个新项目。
  3. 编辑新项目的 pom.xml 并将依赖项从 openxava 更改为 xavapro。详情在下面。
  4. 按照 OpenXava 7.0 的迁移说明将代码从当前项目复制到新项目。

在第 3 点,在编辑 pom.xml 时,查找以下行:

<dependency>
    <groupId>org.openxava</groupId>
    <artifactId>openxava</artifactId>
    <version>${openxava.version}</version>
</dependency>

并将它们改为:

<dependency>
    <groupId>com.openxava</groupId>
    <artifactId>xavapro</artifactId>
    <version>${openxava.version}</version>
</dependency>

然后在您的项目执行 mvn clean install。

自定义验证代码

在 XavaPro 7.0 中,您可以自定义验证用户身份的逻辑。为此,您必须创建一个实现 ISignInHelperProvider 接口的类。典型的案例是改进 XavaPro 认证用户的标准方式,为此需从 ProSignInHelperProvider 扩展,如下:

package com.mycompany.myapp.impl;

import javax.servlet.*;
import org.openxava.util.*;
import com.openxava.naviox.impl.*;

public class MyCustomSignInHelperProvider extends ProSignInHelperProvider {
	
    @Override
    public boolean isAuthorized(
        ServletRequest request, String userName, 
        String password, Messages errors, String unauthorizedMessage) 
    {
        // 这是您的自定义身份验证逻辑
        if (userName.equals("admin") && password.equals("masterkey")) return true; 
		
		
        // 这里我们依赖 XavaPro 默认的身份验证逻辑
        return super.isAuthorized(
            request, userName, password, errors, unauthorizedMessage);
    }

}

这情况的逻辑很简单,如果用户输入 masterkey 作为 admin 用户的密码,他会以 admin 身份访问应用程序,相反则应用 XavaPro 的常规身份验证逻辑。但是,在这里您可以编写任何您想要的逻辑,包括调用 Web 服务、读取您自己的用户数据库、以您想要的方式查询您的 LDAP 目录等。

为了您的应用程序能使用此类进行身份验证,您必须在项目的 naviox.properties 文件中添加下一个条目:

signInHelperProviderClass=com.mycompany.myapp.impl.MyCustomSignInHelperProvider

亲自体验

演示: https://www.openxava.org/xavaprotest (用戶: demo, 密码: demo)

如果您想尝试管理员功能,请回复此电子邮件,询问管理员密码。如果您想尝试移动端,请使用手机直接访问上述的 URL。

要了解更多细节,请访问 XavaPro 页面

如果您是企业套餐客户,您将收到一封升级 旗舰版 的电子邮件。

blog comments powered by Disqus

English - Español