主要内容

身份验证

笔记

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

笔记

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

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

MATLAB Web App Server金宝app支持LDAP (Lightweight Directory Access Protocol)认证和OIDC (OpenID Connect)认证。

启用身份验证:

  1. 检查是否启用SSL。有关更多信息,请参阅启用S​​SL.

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

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

    操作系统 文件夹位置

    窗户®

    % ProgramData % \ MathWorks \ webapps \R2021a\ config \ webapps_private

    Linux.®

    /地方/ MathWorks / webapps /R2021a/ config / webapps_private

    macOS

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

LDAP身份验证

LDAP目录服务器存储有关用户,组和应用程序的信息。目录中的每个条目都包含三个组件:可分辨名称(DN),属性集合以及对象类的集合。

若要使用LDAP身份验证,请创建名为webapps_authn.json使用以下JSON架构并将其放入其中webapps_private文件夹中。

{“版本”:“1.2.0”,“类型”:“ldap”,“authnconfig”:{host“:”“,”端口“:”“,“searcherdn”:“”,“searcherpassword”:“”,“,”<“:”<点在LDAP中从哪里开始搜索用户>“,”userfilter“:”“},”appconfig“:{“checksslca”:“”,trustedsslca“:”“,”displayname“:”“,”groupattributename“:”<属性名称以识别组对象>“}}

  • 版本:指定JSON架构的版本。默认值R2021a是:1.2.0

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

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

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

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

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

    MATLAB Web App Server使用searcherdn.searcherPassword使用a搜索用户的DNuserFilter.随后通过LDAP使用输入的密码验证所发现的DN。值searcherdn.searcherPassword如果LDAP服务器提供匿名认证访问,则不需要。

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

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

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

  • checkSSLCA:检查LDAP服务器的SSL证书是否由公认的证书颁发机构(CA)签名。将此属性设置为真正的检查有效的SSL证书并将其设置为有措施检查。如果设置为真正的,您需要指定值trustedsslca..如果设置为,用户名和密码仍然在传输MATLAB Web App Server和LDAP服务器通过加密通道。但是,建议此检查以获取其他安全性。

  • trustedsslca.:在Linux和macOS,指定签署站点证书的证书颁发机构(CA)颁发的根证书的路径。在Windows系统下,不需要指定路径。只要根证书在可信root认证机构证书商店MATLAB Web App Server会自动找到它。

  • 显示名称:配置如何在用户身份上显示MATLAB Web App Server通过指定用户的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 App Server通过第三方身份提供者(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架构的版本。默认值R2021a是: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文件夹,仅由服务器帐户可读,ClientId.clientSecret受到登录服务器的应用或其他用户的保护。

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

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

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

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

  • 显示名称:配置如何在用户身份上显示MATLAB Web App Server主页,通过指定经过身份验证的用户对象的属性名称。例如,如果使用Google Identity平台,given_name显示用户名。默认是属性。

  • TokenExpirationMin.:在几分钟内指定令牌到期持续时间。例如:60.默认值是,这意味着令牌不会过期。

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

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

笔记

  1. 如果使用OIDC身份验证,则需要注册MATLAB Web App Server作为一个应用程序与IDP。

  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.json用于OIDC的文件使用谷歌身份的平台

{“版本”:“1.2.0”,“类型”:“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严格执行。模式语法中的错误可能导致服务器无法启动,或者在尝试登录时被拒绝访问服务器。

相关的话题

外部网站