主要内容

身份验证

请注意

独立服务器支持身份验证金宝appMATLAB®Web应用程序服务器™产品,而不是包含在内的开发版本MATLAB编译器™.有关详细信息,请参见MATLAB Web应用服务器的差异

请注意

要使用身份验证,您需要在服务器上启用SSL。有关更多信息,请参见启用SSL

身份验证允许您验证用户的凭证,并帮助您控制哪些用户可以访问部署在服务器上的web应用程序。

MATLAB Web应用服务器金宝app支持LDAP (Lightweight Directory Access Protocol)认证和OIDC (OpenID Connect)认证。

启用身份验证:

  1. 检查是否启用SSL。有关更多信息,请参见启用SSL

  2. 创建一个名为webapps_authn.json然后把它放在webapps_private文件夹,该文件夹位于配置文件夹中。的格式webapps_authn.json取决于您是使用LDAP还是OIDC进行身份验证。

    webapps_private文件夹可于以下网址找到:

    操作系统 文件夹位置

    窗户®

    % ProgramData % \ MathWorks \ webapps \R2021b\ config \ webapps_private

    Linux®

    /地方/ MathWorks / webapps /R2021b/ config / webapps_private

    macOS

    /图书馆/应用程序/ MathWorks 金宝app/ webapps /支持R2021b/ config / webapps_private

LDAP身份验证

LDAP目录服务器存储用户、组和应用等信息。目录中的每个条目由三个组件组成:一个区别名称(DN)、一组属性和一组对象类。

若要使用LDAP身份验证,请创建名为webapps_authn.json使用下面的JSON模式,并将其放在webapps_private文件夹中。

{"version": "1.2.0", "type": "ldap", "authnConfig": {"host": "< ldap服务器主机名>","port": "< ldap服务器端口号>","searcherDN": "", "searcherPassword": "", "baseDN": "< ldap中从哪里开始搜索用户>","userFilter": "<过滤语法>"},"appConfig": {"checkSSLCA":"","trustedSSLCA": "<受信任的SSL证书>的路径","displayName": "<在MATLAB Web App Server主页上显示的标识符>","tokenExpirationMin": "","userAttributeName":"<属性名识别用户对象>","groupAttributeName": "<属性名识别组对象>"}}

  • 版本:指定JSON模式的版本。默认值为R2021b是:1.2.0

  • 类型:指定要使用的身份验证类型。将此值设置为ldap

  • 宿主:指定LDAP目录服务器主机名。例如:myldap.myboston.com

  • 港口(可选)指定LDAP目录服务器端口号。例如:389.如果不指定端口号,则使用默认端口号。的MATLAB Web应用服务器使用SSL/STARTTLS与LDAP服务器进行安全通信。这确保用户名和密码之间通过加密通道传输MATLAB Web应用服务器和LDAP服务器。缺省情况下,服务器使用标准端口636Windows和端口上的SSL389在Linux和macOS.LDAP服务器必须配置为允许通过指定的(或默认的)LDAP端口进行SSL/STARTTLS连接;否则,认证将失败。

  • searcherDN:指定目录中的搜索器帐户DN。默认值为"".“搜索DN”是指允许搜索LDAP目录服务器的帐号。例如:“cn = admin, dc = myboston, dc = com”

  • searcherPassword:搜索帐户密码。默认值为""

    MATLAB Web应用服务器使用searcherDNsearcherPassword查找用户的DNuserFilter.随后通过LDAP使用输入的密码验证所发现的DN。值searcherDNsearcherPassword如果LDAP服务器提供匿名认证访问,则不需要。

    webapps_authn.json文件位于webapps_private文件夹,这是只有服务器帐户可读的,搜索者的凭据是受保护的应用程序或其他用户登录到服务器。

  • baseDN:指定目录下的基准DN。基本DN是应用程序开始搜索用户的目录中的位置。例如:dc = myldap, dc = myboston, dc = com

  • userFilter:指定查找用户DN的筛选器。MATLAB Web应用服务器使用userFilter查找与输入的用户名(表示为)匹配的用户DN{username}在过滤器。如果未找到匹配项或找到多个匹配项,则身份验证失败。可以使用标准LDAP过滤器语法指定过滤器。例如:(& (objectClass =用户)(sAMAccountName = {username}))

  • checkSSLCA:检查LDAP服务器的SSL证书是否由可识别的证书颁发机构签署。将此属性设置为真正的检查有效的SSL证书并将其设置为放弃检查。如果设置为真正的,则需要指定值trustedSSLCA.如果设置为,用户名和密码仍然在传输MATLAB Web应用服务器和LDAP服务器通过加密通道连接。但是,为了增加安全性,建议进行此检查。

  • trustedSSLCA:在Linux和macOS,指定签署站点证书的证书颁发机构(CA)颁发的根证书的路径。在Windows系统下,不需要指定路径。只要根证书在受信任的根证书颁发机构证书存储区MATLAB Web应用服务器会自动找到它。

  • displayName:配置用户的身份显示方式MATLAB Web应用服务器通过指定用户LDAP条目的属性来实现。例如,将此属性设置为uid显示用户ID。Default是在身份验证过程中输入的用户名。

  • tokenExpirationMin:指定令牌的过期时间,单位为分钟。例如:60.默认值是"",这意味着令牌不会过期。

  • userAttributeName:指定标识用户对象的属性名。例如:uid.如果使用基于策略的访问,则必须为该属性设置值。否则,不要在JSON文件中包含此属性。有关更多信息,请参见基于策略的访问

  • groupAttributeName:指定标识组对象的属性名称。例如:成员.如果使用基于策略的访问,则必须为该属性设置值。否则,不要在JSON文件中包含此属性。有关更多信息,请参见基于策略的访问

例子webapps_authn.json文件为LDAP

{"version": "1.2.0", "type": "ldap", "authnConfig": {"host": "myldap.myboston.com", "port": "", "searcherDN": "", "searcherPassword": "", "baseDN": "DC=myldap,DC=myboston,DC=com", "userFilter": "(&(objectClass=User)(sAMAccountName={username}))"}, "appConfig": {"checkSSLCA": "false", "trustedSSLCA": "", "displayName": "uid", "tokenExpirationMin": "60"}}

例子webapps_authn.json使用策略访问时LDAP的文件

{"version": "1.2.0", "type": "ldap", "authnConfig": {"host": "myldap.myboston.com", "port": "", "searcherDN": "", "searcherPassword": "", "baseDN": "DC=myldap,DC=myboston,DC=com", "userFilter": "(&(objectClass=User)(sAMAccountName={username}))"}, "appConfig": {"checkSSLCA": "false", "trustedSSLCA": "", "displayName": "uid", "tokenExpirationMin": "60", "userAttributeName": "uid", "groupAttributeName": "memberOf"}}

OIDC身份验证

允许OIDC (OpenID Connect)MATLAB Web应用服务器通过第三方身份提供者(IdP)的身份验证来验证最终用户的身份。在服务器上使用OIDC认证时,需要向IdP(如Microsoft)注册®Azure®广告,或者谷歌®身份的平台。

要使用OIDC身份验证,请创建名为webapps_authn.json使用下面的JSON模式,并将其放在webapps_private文件夹中。

{"version": "1.2.0", "type": "oidc", "authnConfig": {"issuer": "< oidc IdP issuer URI>", "clientId": "", "clientSecret": "", "redirectUrl": "<重定向URL>", "scope": [" "]}, "appConfig": {"port": "< MATLAB Web App Server使用的oidc认证端口号>","displayName":"", "tokenExpirationMin": "", "userAttributeName": "", "groupAttributeName": ""}}
  • 版本:指定JSON模式的版本。的默认值R2021b是:1.2.0

  • 类型:指定要使用的身份验证类型。将此值设置为oidc

  • 发行人:指定OIDC IdP颁发者URI。例如,如果使用谷歌身份平台:https://accounts.google.com/.well-known/openid-configuration

  • clientId:指定客户机ID您在向IdP注册您的凭证时获得的。例如,如果使用谷歌身份平台:1234567890, xxxxxxxxxxxx.apps.googleusercontent.com

  • clientSecret:指定客户的秘密您在向IdP注册您的凭证时获得的。例如,如果使用谷歌身份平台:_xxxxxxxxxxxxx_Xxxxxx_xX

    webapps_authn.json文件位于webapps_private文件夹,仅由服务器帐户可读,clientIdclientSecret被应用程序或其他登录服务器的用户保护。

  • redirectUrl(可选)指定在使用IdP配置OIDC身份验证时使用的重定向URL。如果为空,则运行该命令的计算机的主机名和端口号MATLAB Web应用服务器用作回调。URL格式为:https:// < MATLABWebAppServer_hostname >: < port_server_is_running_on > / webapps / extauth /回调.例如,如果MATLAB Web应用服务器在港口运行9988,则重定向URL为:https://myboston.com:9988/webapps/extauth/callback

    之前R2021b,重定向URL的格式为:https:// < MATLABWebAppServer_hostname >: <口> / oidc /回调.例如:https://myboston.com:3000/oidc/callback

  • 范围:为管理员需要的资源指定标识符MATLAB Web应用服务器访问。例如,如果使用谷歌身份平台:openid概要文件电子邮件

  • 港口(可选)使用的端口号MATLAB Web应用服务器用于OIDC认证的内部流程。例如:3000

  • displayName:配置用户的身份显示方式MATLAB Web应用服务器通过指定经过身份验证的用户对象的属性名,主页。例如,如果使用谷歌身份平台,given_name显示用户名。默认是属性。

  • tokenExpirationMin:指定令牌的过期时间,单位为分钟。例如:60.默认值为"",这意味着令牌不会过期。

  • userAttributeName:指定标识用户对象的属性名。例如:uid.如果使用基于策略的访问,则必须为该属性设置值。否则,不要在JSON文件中包含此属性。如果不使用基于策略的访问,但决定在JSON文件中包含此属性,则将值设置为"".有关更多信息,请参见基于策略的访问

  • groupAttributeName:指定标识组对象的属性名称。例如:成员.如果使用基于策略的访问,则必须为该属性设置值。否则,不要在JSON文件中包含此属性。如果不使用基于策略的访问,但决定在JSON文件中包含此属性,则将值设置为"".有关更多信息,请参见基于策略的访问

请注意

  1. 如果使用OIDC认证,需要注册MATLAB Web应用服务器作为一个应用程序国内流离失所者。

  2. 在注册过程中,需要为MATLAB Web App Server重定向URL。URL格式为:https:// < MATLABWebAppServer_hostname >: < port_server_is_running_on > / webapps / extauth /回调.例如:https://myboston.com:9988/webapps/extauth/callback

例子webapps_authn.jsonOIDC使用文件谷歌身份的平台

{"version": "1.2.0", "type": "oidc", "authnConfig": {"issuer": "https://accounts.google.com/.well-known/openid-configuration", "clientId": "1234567890-xxxxxxxxxxxx.apps.googleusercontent.com", "clientSecret": "_xxxxxxxxxxxxx_Xxxxxx_xX", "scope": ["openid profile email"]}, "appConfig": {"port": "3000", "displayName":"given_name", "tokenExpirationMin": "60"}}

提示

设置身份验证后,如果您无法从浏览器登录,请尝试清除浏览器的缓存和cookie,或尝试其他浏览器。

谨慎

的JSON模式语法webapps_authn.json严格执行。模式语法中的错误可能导致服务器无法启动,或者在尝试登录时被拒绝访问服务器。

相关的话题

外部网站