Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » MobiLink - 入门 » MobiLink 教程 » 教程:使用 Java 或 .NET 进行自定义用户验证

 

第 1 课:创建用于自定义验证的 .NET 类(服务器端)

在本课中,您将编译包含 .NET 逻辑的类用以进行自定义验证。

前提条件

要执行 .NET 同步逻辑,MobiLink 服务器必须有权访问 iAnywhere.MobiLink.Script.dll 中的类。iAnywhere.MobiLink.Script.dll 包含要在 .NET 方法中使用的 MobiLink .NET 服务器 API 类的存储库。编译 .NET 类时,将引用 iAnywhere.MobiLink.Script.dll

本课假定您拥有在教程教程:使用 Java 或 .NET 进行自定义用户验证开头的权限部分中列出的角色和特权。

上下文和注释

要创建用于客户身份验证的 .NET 类,请参见第 1 课:创建用于自定义验证的 Java 类(服务器端)

 任务
  1. 创建一个名为 MobiLinkAuth 的类,并编写 authenticateUser 方法。

    MobiLinkAuth 类包括用于 authenticate_user 同步事件的 authenticateUser 方法。authenticate_user 事件可为用户和口令提供参数。在 authentication_status inout 参数中返回验证结果。

    注意

    您将在第 2 课:为 authenticate_user 事件注册 Java 或 .NET 脚本中注册 authenticate_user 同步事件的 authenticateUser 方法。

    为服务器应用程序使用以下代码:



    using iAnywhere.MobiLink.Script;
    
    public class MobiLinkAuth {
        public void authenticateUser(
            ref int authentication_status,
            string user,
            string pwd,
            string newPwd ) {
    
            if(user.StartsWith("128")) {
                // success: an auth status code of 1000
                authentication_status = 1000;
            } else { 
                // fail: and authentication_status code of 4000
                authentication_status = 4000;
            }
        }
    }

    该代码说明一个简单的自定义用户验证情况。当客户端使用以 128 开头的用户名访问统一数据库后,验证成功。

  2. 保存您的代码。

    此教程将 c:\MLauth 假定为服务器端组件的工作目录。在此目录中,将文件另存为 MobiLinkAuth.cs

  3. 编译您的类文件。

    1. 浏览到包含 C# 文件的目录。

    2. 编译 MobiLinkAuth 类并引用 MobiLink 服务器 .NET API 库。

      运行以下命令,将 C:\Program Files\SQL Anywhere 16\ 替换为 SQL Anywhere 16 目录:

      csc /out:MobiLinkAuth.dll /target:library /reference:"C:\Program Files\SQL Anywhere 16\Assembly\v2\iAnywhere.MobiLink.Script.dll" MobiLinkAuth.cs

结果

将生成 MobiLinkAuth.dll 程序集。

 另请参见