自定义验证代码 在 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
|