Main Content

本页采用了机器翻译。点击此处可查看英文原文。

setCustomLoginProvider

将自定义身份验证回调函数注册到 OSLC 客户端

自 R2021b 起

    说明

    示例

    setCustomLoginProvider(myClient,authenticationFunction) 为 OSLC 客户端对象 myClient 注册自定义身份验证回调函数 authenticationFunction。您可以使用此函数在需要高级身份验证(默认身份验证过程不支持)的网络上对 OSLC 客户端对象进行身份验证。

    注意

    自定义身份验证回调函数应采用以下形式:

    function [success,cookies] = myCustomLoginProvider(server,options)
    % Provide your implementation here
    end
    自定义身份验证函数应返回两个参量:成功状态和作为 matlab.net.http.field.CookieField 对象从服务器接收的经过身份验证的 cookie。

    示例

    全部折叠

    此示例显示如何使用自定义身份验证函数和自定义 HTTP 选项对 OSLC 客户端进行身份验证。

    创建 OSLC 客户端。

    myClient = oslc.Client;

    为您的服务提供商设置服务器 URL、服务根目录和目录路径。

    setServer(myClient,'http://example.com');
    setServiceRoot(myClient,'rm');
    setCatalogPath(myClient,'oslc/services/catalog');

    使用带有基本 matlab.net.http.AuthenticationScheme 对象的 matlab.net.http.Credentials 类来创建并输入用户凭据。

    creds = matlab.net.http.Credentials('Username','jdoe','Password', ...
    'Password1234','scheme',matlab.net.http.AuthenticationScheme.Basic);
    

    使用 matlab.net.http.HTTPOptions 类构造函数创建自定义 HTTP 选项。设置自定义 HTTP 选项的 Credentials属性和证书信息。

    opts = matlab.net.http.HTTPOptions('Credentials',creds, ...
        'VerifyServerName', false, 'CertificateFilename', '')
    opts = 
    
      HTTPOptions with properties:
    
               MaxRedirects: 20
             ConnectTimeout: 10
                   UseProxy: 1
                   ProxyURI: []
               Authenticate: 1
                Credentials: [1×1 matlab.net.http.Credentials]
         UseProgressMonitor: 0
                SavePayload: 0
            ConvertResponse: 1
             DecodeResponse: 1
         ProgressMonitorFcn: []
        CertificateFilename: ""
           VerifyServerName: 0
                DataTimeout: Inf
            ResponseTimeout: Inf
           KeepAliveTimeout: Inf

    指定自定义 HTTP 选项来验证 OSLC 客户端 myClient

    setHttpOptions(myClient,opts);

    创建一个名为 myCustomLoginProvider 的自定义身份验证回调函数。

    function [success,cookies] = myCustomLoginProvider(server,options)
    
    end

    使用 OSLC 客户端对象注册自定义身份验证回调函数。

    setCustomLoginProvider(myClient,myCustomLoginProvider);

    验证 OSLC 客户端对象。

    login(myClient);

    输入参数

    全部折叠

    OSLC 客户端,指定为 oslc.Client 对象。

    自定义身份验证回调函数名称,指定为字符向量。

    示例: 'myCustomLoginProvider'

    提示

    • 如果您的身份验证过程需要一组特定的 HTTP 选项,您可以:

      • 构造一个 matlab.net.http.HTTPOptions 对象并使用 setHttpOptions 将其分配给您的 OSLC 客户端,后者将 HTTP 选项传递给您的自定义身份验证回调函数。

      • 在自定义身份验证回调函数中内部构建 HTTP 选项。

    • 如果您想要使用凭证预先配置登录过程或使用特定的身份验证方案,则可以创建一个 matlab.net.http.Credentials 对象并将其与您分配给 OSLC 客户端对象的 matlab.net.http.HTTPOptions 对象包含在内。有关更多信息,请参阅 Server Authentication

      注意

      根据您的服务器使用的身份验证方法,您的自定义身份验证回调函数可能也必须满足身份验证需求。例如,您可能必须模仿身份验证服务器所需的基于表单的身份验证。

    • 您可以通过输入以下命令从 OSLC 客户端对象 myClient 取消注册所有回调:

      setCustomLoginProvider(myClient,'');

    版本历史记录

    在 R2021b 中推出