身份验证
请注意
身份验证是在独立的支持金宝appMATLAB®Web应用程序服务器™包括在产品而不是开发版本MATLAB编译器™。有关详细信息,请参见MATLAB Web应用程序服务器的区别。
先决条件
在服务器上启用SSL。有关更多信息,请参见启用SSL。
创建webapps_authn.json
文件
身份验证可以验证一个用户的凭证,并帮助你控制哪些用户可以访问网络应用程序部署在服务器上。
MATLAB Web应用程序服务器金宝app支持身份验证使用轻量级目录访问协议(LDAP)和OpenID连接(OIDC)。
启用身份验证:
检查是否启用了SSL。有关更多信息,请参见启用SSL。
创建一个文件命名
webapps_authn.json
并将其放入webapps_private
文件夹,这是位于配置
文件夹中。的格式webapps_authn.json
取决于您使用的LDAP或OIDC进行身份验证。的
webapps_private
文件夹中可以找到:操作系统 文件夹位置 窗户®
% ProgramData % \ MathWorks \ webapps \R2022a\ config \ webapps_private
Linux®
/地方/ MathWorks / webapps /R2022a/ config / webapps_private
macOS
/图书馆/应用程序/ MathWorks 金宝app/ webapps /支持R2022a/ config / webapps_private
LDAP身份验证
LDAP目录服务器存储用户信息,组织,和应用程序。目录中的每个条目包含三个组件:一个专有名称(DN),一组属性和对象类的集合。
要使用LDAP身份验证,创建一个文件命名webapps_authn.json
使用下面的JSON模式并将其放入webapps_private
文件夹中。
{“版本”:“1.2.0”、“类型”:“ldap”、“authnConfig”:{“主机”:“< ldap服务器主机名>”,“港”:“< ldap服务器端口号>”,“searcherDN”:“”,“searcherPassword”:“”,“baseDN”:“从哪里开始<指向ldap搜索用户>”,“userFilter”:“<筛选器语法>”},appConfig: {“checkSSLCA”:“<布尔表示,以检查是否可信的SSL证书>”,“trustedSSLCA”:“信任的SSL证书> <路径”,“displayName”:“< MATLAB Web应用程序服务器上的标识符来显示主页>”,“tokenExpirationMin”:“<令牌到期时间在几分钟内>”,“userAttributeName”:“<属性名称来识别用户对象>”,“groupAttributeName”:“<属性名称识别组对象> "}}
版本JSON模式:指定的版本。默认值为R2022a是:
1.2.0
。类型:指定要使用的身份验证类型。将这个值设置为
ldap
。主机:指定LDAP目录服务器的主机名。例如:
myldap.myboston.com
。港口:(可选)指定LDAP目录服务器端口号。例如:
389年
。如果没有指定端口号,将使用默认端口。的MATLAB Web应用程序服务器使用SSL / STARTTLS与LDAP服务器的安全通信。这可以确保用户名和密码,通过加密传输通道之间MATLAB Web应用程序服务器和LDAP服务器。默认情况下,服务器使用标准端口636年
为SSL在Windows和端口389年
对Linux和STARTTLSmacOS。LDAP服务器必须配置SSL / STARTTLS连接,允许在指定的LDAP端口(或违约);否则,身份验证就会失败。searcherDN:指定搜索账户的DN目录。默认值是
”“
。搜索者DN是帐户允许搜索LDAP目录服务器。例如:“cn = admin, dc = myboston, dc = com”
。searcherPassword:搜索账户的密码。默认值是
”“
。MATLAB Web应用程序服务器使用的值
searcherDN
和searcherPassword
使用一个搜索用户的DNuserFilter
。随后发现DN是针对通过LDAP与输入的密码进行验证。值searcherDN
和searcherPassword
不需要如果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证书是否签署认可证书颁发机构(CA)。将这个属性设置为
真正的
检查有效的SSL证书和设置假
放弃检查。如果设置为真正的
,您需要指定一个值trustedSSLCA。如果设置为假
,用户名和密码仍之间传播MATLAB Web应用程序服务器和LDAP服务器通过加密通道。然而,这个建议额外的安全检查。trustedSSLCA:在Linux和macOS系统,指定路径的根证书颁发机构(CA)颁发的证书,签署《网站证书。在Windows系统上,您不需要指定的路径。只要根证书受信任的根证书颁发机构存储证书,MATLAB Web应用程序服务器会自动找到它。
displayName:配置如何显示在用户的标识MATLAB Web应用程序服务器主页通过指定一个属性的用户的LDAP条目。例如,设置这个属性
uid
显示用户ID。默认是在认证过程中输入的用户名。tokenExpirationMin:指定令牌到期时间在几分钟内。例如:
60
。默认值是”“
,这意味着令牌不到期。userAttributeName:指定一个属性名称来识别用户对象。例如:
uid
。必须设置这个属性的值如果使用基于策略的访问。否则,JSON文件中不包含这个属性。有关更多信息,请参见基于策略的访问。groupAttributeName:指定一个属性名称来识别对象。例如:
成员
。必须设置这个属性的值如果使用基于策略的访问。否则,JSON文件中不包含这个属性。有关更多信息,请参见基于策略的访问。
例子webapps_authn.json
文件为LDAP
{“版本”:“1.2.0”、“类型”:“ldap”、“authnConfig”:{“主机”:“myldap.myboston.com”,“港”:“”,“searcherDN”:“”,“searcherPassword”:“”,“baseDN”:“DC = myldap, DC = myboston, DC = com”,“userFilter”:“(& (objectClass =用户)(sAMAccountName = {username}))”}, "appConfig": { "checkSSLCA": "false", "trustedSSLCA": "", "displayName": "uid", "tokenExpirationMin": "60" } }
例子webapps_authn.json
当使用基于策略的访问文件LDAP
{“版本”:“1.2.0”、“类型”:“ldap”、“authnConfig”:{“主机”:“myldap.myboston.com”,“港”:“”,“searcherDN”:“”,“searcherPassword”:“”,“baseDN”:“DC = myldap, DC = myboston, DC = com”,“userFilter”:“(& (objectClass =用户)(sAMAccountName = {username}))”}, "appConfig": { "checkSSLCA": "false", "trustedSSLCA": "", "displayName": "uid", "tokenExpirationMin": "60", "userAttributeName": "uid", "groupAttributeName": "memberOf" } }
OIDC身份验证
OpenID (OIDC)允许连接MATLAB Web应用程序服务器来验证基于身份验证终端用户的身份由第三方身份提供者(IdP)。在服务器上使用OIDC身份验证,您需要注册一个微软等国内流离失所者®Azure®广告,或谷歌®身份的平台。
使用OIDC身份验证,创建一个文件命名webapps_authn.json
使用下面的JSON模式并将其放入webapps_private
文件夹中。
{“版本”:“1.2.0”、“类型”:“oidc”、“authnConfig”:{“发行人”:“< oidc IdP发行人URI >”,“clientId”:“从国内流离失所者> <客户机ID”、“clientSecret”:“<客户秘密IdP >”,“redirectUrl”:“<重定向URL >”,“范围”:[" < scope1 > < scope2 > "]}, appConfig:{“端口”:“< oidc MATLAB Web应用程序服务器身份验证所使用的端口号>”,“displayName”:“<身份MATLAB Web应用程序服务器上显示主页>”,“tokenExpirationMin”:“<令牌到期时间在几分钟内>”,“userAttributeName”:“<属性名称来识别用户对象>”,“groupAttributeName”:“<属性名称识别组对象> "}}
版本JSON模式:指定的版本。的默认值R2022a是:
1.2.0
。类型:指定要使用的身份验证类型。将这个值设置为
oidc
。发行人:指定OIDC IdP发行人URI。例如,如果使用谷歌标识平台:
https://accounts.google.com/.well-known/openid-configuration
。clientId:指定客户机ID你注册时取得凭证的国内流离失所者。例如,如果使用谷歌标识平台:
1234567890,xxxxxxxxxxxx.apps.googleusercontent.com
。clientSecret:指定客户的秘密你注册时取得凭证的国内流离失所者。例如,如果使用谷歌标识平台:
_xxxxxxxxxxxxx_Xxxxxx_xX
。自
webapps_authn.json
文件内的生活webapps_private
服务器文件夹,只可读的账户,clientId和clientSecret不受应用程序或其他用户登录到服务器。redirectUrl:(可选)指定URL重定向您使用时配置OIDC认证的国内流离失所者。如果空,运行的计算机的主机名和端口号MATLAB Web应用程序服务器作为一个回调。URL的格式是:
https:// < MATLABWebAppServer_hostname >: < port_server_is_running_on > / webapps / extauth /回调
。例如,如果MATLAB Web应用程序服务器运行在端口9988年
,然后重定向网址是:https://myboston.com: 9988 / webapps / extauth /回调
。R2021a之前,重定向URL的格式是:
https:// < MATLABWebAppServer_hostname >: <口> / oidc /回调
。例如:https://myboston.com: 3000 / oidc /回调
。范围:指定管理员想要的资源标识符MATLAB Web应用程序服务器访问。例如,如果使用谷歌标识平台:
openid概要文件电子邮件
。港口:(可选)指定使用的端口号MATLAB Web应用程序服务器过程内部OIDC身份验证。例如:
4000年
。这个端口号必须是不同的redirectUrl
端口号。如果没有指定端口号,MATLAB Web应用程序服务器过程自动选择一个端口OIDC身份验证。displayName:配置如何显示在用户的标识MATLAB Web应用程序服务器主页,通过指定一个身份验证的用户对象的属性名称。例如,如果使用谷歌标识平台,
given_name
显示用户的名字。默认的是子
属性。tokenExpirationMin:指定令牌到期时间在几分钟内。例如:
60
。默认值是”“
,这意味着令牌不到期。userAttributeName:指定一个属性名称来识别用户对象。例如:
uid
。必须设置这个属性的值如果使用基于策略的访问。否则,JSON文件中不包含这个属性。如果你不使用基于策略的访问,但决定在JSON文件中包含这个属性,设置值”“
。有关更多信息,请参见基于策略的访问。groupAttributeName:指定一个属性名称来识别对象。例如:
成员
。必须设置这个属性的值如果使用基于策略的访问。否则,JSON文件中不包含这个属性。如果你不使用基于策略的访问,但决定在JSON文件中包含这个属性,设置值”“
。有关更多信息,请参见基于策略的访问。
请注意
如果你使用OIDC身份验证,您需要注册MATLAB Web应用程序服务器作为一个应用程序国内流离失所者。
在登记过程中,您需要一个重定向URL MATLAB Web应用程序服务器。URL的格式是:
https:// < MATLABWebAppServer_hostname >: < port_server_is_running_on > / webapps / extauth /回调
。例如:https://myboston.com: 9988 / webapps / extauth /回调
。
例子webapps_authn.json
申请OIDC使用谷歌身份的平台
{“版本”:“1.2.0”、“类型”:“oidc”、“authnConfig”:{“发行人”:“https://accounts.google.com/.well-known/openid-configuration”,“clientId”:“1234567890——xxxxxxxxxxxx.apps.googleusercontent.com”、“clientSecret”:“_xxxxxxxxxxxxx_Xxxxxx_xX”、“redirectUrl”:“https://myboston.com: 9988 / webapps / extauth /回调”、“范围”:[" openid配置电子邮件"]},appConfig:{“端口”:“4000”,“displayName”:“given_name”、“tokenExpirationMin”: " 60 "}}
提示
设置身份验证后,如果你无法从浏览器登录,尝试清除浏览器的缓存和饼干,或者尝试不同的浏览器。
谨慎
JSON模式语法webapps_authn.json
严格执行。模式语法中的错误可能导致服务器没有启动,或者被拒绝访问服务器当你试图登录。