主要内容

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

compiler.UserInfo

检索登录用户的详细信息

自 R2022a 起

说明

user = compiler.UserInfo() 返回运行 MATLAB® 桌面版的计算机的登录用户的详细信息,或 MATLAB Web App Server™ 的登录用户的详细信息。

示例

示例

全部折叠

在 MATLAB 命令提示符下执行:

user = compiler.UserInfo()
user = 
  UserInfo with properties:

         UserID: 'someid'
    DisplayName: <missing>
         Groups: <missing>
         Domain: 'SOME_DOMAIN'

要启用 MATLAB Web App Server 的详细用户信息,您必须创建一个 userinfo.json 文件,并将其放置在 webapps_private 文件夹中。此文件将身份提供方 (IdP) 的属性映射到 MATLAB 的属性,并定义了哪些应用可以访问这些数据。

{
  "version": "1.0.0",
  "userInfo.doc": "Property values to be fetched during login from IdP",
  "userInfo": {
    "UserID": "upn",
    "DisplayName": "displayName",
    "Groups": "groups",
    "LastName": "surname",
    "Email": "mail"
  },
  "appAccess.doc": "Policy for allowing access to user properties within an app or group of apps",
  "appAccess": {
    "Health/BloodPressure": ["UserID", "Email"],
    "Finance/Mortgage": ["UserID", "LastName"],
    "Mystery": ["UserID", "Email", "WebAppsRole"]
  }
}

appAccess 对象中的键对应于您的 Web 应用相对于应用根文件夹的位置。如果应用程序存储在子文件夹中,您必须在映射中包含该文件夹的路径。

例如,如果 BloodPressure 应用位于名为 Health 的文件夹中,则 JSON 文件中的键必须是 "Health/BloodPressure"。如果应用直接位于“apps”根目录下,请仅使用应用名称,例如 "Mystery"

在 App Designer 应用的 startupFcn 中使用 compiler.UserInfo 函数来自定义该应用。

function startupFcn(app)
    try
        user = compiler.UserInfo();
    catch me
        % Handle errors if the server is not configured for authentication
        return
    end

    if ~ismissing(user.UserID)
        app.WelcomeLabel.Text = "Welcome, " + user.UserID;
    end
end

输出参量

全部折叠

返回的对象包含诸如 UserIDDisplayNameGroups 以及在 userinfo.json 文件中定义的任何自定义属性。对于未映射或特定应用不允许访问的属性,将返回 <missing>

版本历史记录

在 R2022a 中推出

另请参阅

|

主题