首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在UWP App中获取当前登录用户的用户名或id

在UWP App中获取当前登录用户的用户名或ID,可以通过以下步骤实现:

  1. 使用Windows.Security.Authentication.OnlineId命名空间中的OnlineIdAuthenticator类进行用户身份验证。
  2. 首先,需要在应用程序清单文件(Package.appxmanifest)中声明用户账户信息的访问权限。在Capabilities标签下添加"internetClient"和"userAccountInformation"权限。
  3. 在代码中,使用OnlineIdAuthenticator类的AuthenticateUserAsync方法进行用户身份验证。该方法返回一个OnlineIdServiceTicketRequest对象。
  4. 创建OnlineIdServiceTicketRequest对象时,指定需要获取的用户信息类型,如OnlineIdServiceTicketRequestType::Claims,以获取用户的声明信息。
  5. 调用OnlineIdAuthenticator类的GetTicketAsync方法,传入OnlineIdServiceTicketRequest对象,获取用户的身份验证票据。
  6. 使用OnlineIdServiceTicket对象的Properties属性,获取用户的属性信息。可以通过"FirstName"、"LastName"、"UserName"等属性获取用户的用户名或ID。

以下是一个示例代码:

代码语言:csharp
复制
using Windows.Security.Authentication.OnlineId;

public async Task<string> GetCurrentUser()
{
    string currentUserName = string.Empty;

    OnlineIdAuthenticator authenticator = new OnlineIdAuthenticator();
    OnlineIdServiceTicketRequest ticketRequest = new OnlineIdServiceTicketRequest("wl.basic", "DELEGATION");
    
    try
    {
        OnlineIdServiceTicket ticket = await authenticator.GetTicketAsync(ticketRequest);
        if (ticket != null)
        {
            var properties = ticket.Properties;
            if (properties.ContainsKey("FirstName") && properties.ContainsKey("LastName"))
            {
                string firstName = properties["FirstName"] as string;
                string lastName = properties["LastName"] as string;
                currentUserName = $"{firstName} {lastName}";
            }
            else if (properties.ContainsKey("UserName"))
            {
                currentUserName = properties["UserName"] as string;
            }
        }
    }
    catch (Exception ex)
    {
        // 处理异常
    }

    return currentUserName;
}

这段代码使用OnlineIdAuthenticator类进行用户身份验证,并获取用户的姓名或用户名作为当前登录用户的标识。请注意,此示例仅获取了用户的姓名或用户名,您可以根据需要获取其他属性信息。

对于UWP App的开发,腾讯云并没有提供特定的产品或服务。但您可以使用腾讯云的其他云计算产品,如云服务器、对象存储、人工智能等,来支持您的UWP App的后端需求。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

win10 uwp 使用 Microsoft.Graph 发送邮件 注册应用创建 UWP 程序安装 nuget 包添加访问权限发送邮件

经过了一天测试终于成功使用发送邮件 本文告诉大家如何在 UWP 调用 Microsoft.Graph 发送邮件 在仔细阅读了Microsoft Graph 桌面应用程序 - 陈希章文章之后,按照文章方法尝试了很久终于成功发送了邮件...可以使用 Microsoft.Graph 调用 Office 365 几乎所有功能,但是我只有成功使用邮件功能,暂时就先告诉大家如何在 UWP 使用 Microsoft.Graph 发送邮件 之后其他功能等我跑通了...是我创建一个临时AppID,请替换为自己 string[] scopes = {"User.Read", "Mail.Read", "Mail.Send", "Files.Read...是我创建一个临时AppID,请替换为自己 string[] scopes = {"User.Read", "Mail.Read", "Mail.Send", "Files.Read...clientID 为你自己 clientID 当然代码可以按照我使用,因为用我 ID 也是没问题 发送邮件 在获取到权限之后,很容易就可以调用 Microsoft.Graph 发送邮件,请看代码

1.7K30

PasswordVault —— 在 UWP 应用安全地保存密码

PasswordVault —— 在 UWP 应用安全地保存密码 2018-06-15 13:43 只要你做过自动登录,一定会遇到密码安全问题...---- 我在 ERMail 应用开发中就遇到了这样问题,作为一款邮件客户端,IMAP 协议下自动登录依然要在用户本地保存密码。...每一个 UWP 应用之间 PasswordVault 是独立且互相不可访问,普通用户也无法直接获取到密码;对于黑客,如果无法黑掉用户账户,也是无法解密出密码,所以在一般使用场景下,安全性是够。...", "t^vxR1kuR7@7*zZh")); 其中,walterlv 是保存用户名,t^vxR1kuR7@7*zZh 是保存密码。...在 ERMail ,考虑到多数代码是跨平台,所以我使用 IPasswordManager 接口来隔离这种 UWP 平台特定方法。

1.5K30

NodeJS学习之路7(权限认证)

Passport做登录验证具有:灵活性、模块化、丰富中间件等特点,更加详细介绍请参考:http://idlelife.org/archives/808 如何在项目中使用passport?...username:需要验证用户名” password:需要验证“密码” done: 对验证结果处理方法 username和password默认对应表单name="username"和name...(登录用户id)序列化到session,即sessionID,同时它将作为凭证存储在用户cookie。...request.isAuthenticated():判断当前请求用户是否已授权(已登录),返回truefalse request.isUnauthenticated():跟request.isAuthenticated...:对于后台管理模块,必须登录用户才能有权限,所以可以对后台管理所有路由进行拦截,为了方便我们可以自定义一个中间件来统一进行处理:验证通过,继续;验证不通过,跳回到登录页面,并告知需要登陆。

1.8K30

UWP 开发,需要知道1000个问题

UWP获取Encoding.Default Encoding.GetEncoding(0); 参见:UWP获取Encoding.Default - yinyue200 - 博客园 UWP 使用...UWP 获取软件版本 UWP 获取自己软件版本可以和服务器比较,判断当前是否需要升级,那么可以使用下面的代码获得 UWP 应用版本 Windows.ApplicationModel.Package.Current.Id.Version...UWP 应用获取各类系统、用户信息 (1) - 设备和系统基本信息、应用包信息、用户数据账户信息和用户账户信息 获取窗口大小 获取主窗口可视大小 Windows.UI.ViewManagement.ApplicationView.GetForCurrentView...().VisibleBounds 当前窗口大小 Window.Current.Bounds 获取当前窗口其他方法 Window.Current.CoreWindow.Bounds 上面的方法可以获得窗口...参见 Data binding in depth 协变 逆变 协变 out ,:string->object (子类到父类转换) 逆变 in ,:object->string (父类到子类转换)

1.5K20

About Windows 10 SDK Preview Build 17110

,就可以使用 C++ /WinRT CX /UWP 来创建 UWP Console App 了,开发过程和普通 Console App 很类似。...UWP Console App 可以访问应用所在目录和所有子目录,因为它模板在 manifest 添加了 AppExecutionAlias 扩展,这种扩展让用户可以在控制台中输入缩写来启动应用...官方提出几个 UWP Console App 注意事项: 只能使用  C++ /WinRT CX /UWP 来开发 目标必须是 桌面 IoT 项目类型 应用不能创建窗体,所以 MessageBox... 而 Multi-Instance Redirection UWP app 对于当前实例选择,在应用 OnLaunched() 和 OnActivated() 方法执行前 Main...} } } } Screen capture Microsoft Doc: Screen capture 在 Windows 10 1803 版本后,SDK 提供 API 可以获取当前显示应用窗口图形帧

1.6K40

CoreHook:基于.NET Core运行时实现Windows HOOK库

注意:使用 本地计算机用户名替换修改指向NuGet软件包安装位置路径。看看CoreHook.FileMonitor.runtimeconfig.dev.json在输出目录中找到。...Windows 10 UWP 您可以使用此脚本获取为FileMonitor示例启动UWP应用程序所需应用程序用户模型标识(AUMID): $installedapps = get-AppxPackage...$aumidList = @() foreach ($app in $installedapps) { foreach ($id in (Get-AppxPackageManifest...$app).package.applications.application.id) { $aumidList += $app.packagefamilyname +...您可以将这些文件添加到目标程序目录,也可以将它们添加到路径。您可以通过安装 Windows调试工具来获取这两个DLL 。 您可以找到dbghelp.dll和示例位置symsrv.dll: 1.

1.6K20

Shiro多项目集中权限管理及分布式会话--Java学习网

requestUrl即可;否则,如果successUrl没值,那么requestUrl就是当前请求地址; 5、拼上url前边schema,httphttps; 6、拼上域名; 7、拼上重定向到地址...key(app_key)和应用安全码(app_secret),app在访问server时需要指定自己app_key和用户名获取app对应用户权限信息;另外app_secret可以认为app密码,...另外available属性表示该应用当前是否开启;如果false表示该应用当前不可用,即不能获取到相应权限信息。 授权:给指定用户在指定app下授权,即角色是与用户app存在关联关系。...方法传入AppKey和用户名获取用户角色和权限字符串集合。...Session集中维护及根据AppKey和用户名获取角色/权限字符串集合。

93610

dotnet 从入门到放弃 500 篇文章合集

输出 C# 如何在项目引用x86 x64非托管代码 C# 已知点和向量,求距离点 C# 强转会不会抛出异常 C# 很少人知道科技 C# 快速释放内存大数组 C# 搜索算法 C# 获得设备usb...UWP 九幽数据分析 win10 UWP 九幽登录 win10 uwp 从 Unity 创建 win10 UWP 你写我读 win10 uwp 使用 Geometry resources 在 xaml...uwp 绑定 OneWay 无法使用 win10 uwp 绑定密码 win10 uwp 绑定静态属性 win10 uwp 自定义控件初始化 win10 uwp 获取指定文件 win10 uwp 获取按钮鼠标左键按下...-uwp-颜色转换 win10-uwp-验证textbox win10-uwp如何使用datatemplate win10uwp_app-to-app_communication_ying_yong_tong...好看矢量图标 wpf 如何使用 Magick.NET 播放 gif 图片 WPF 如何在 WriteableBitmap 写文字 WPF 如何在应用程序调试启动 WPF 如何在绑定失败异常 WPF

10.4K20

WPF 使用 Win2d 渲染

当前所有渲染框架里面,做 2D 渲染,最好框架是 Win2d 这个提供了大量底层接口封装,不仅性能高同时接口设计非常好 在很久之前,只有在 UWP 等现代应用才能使用 Win2d 而 WPF 是不能使用...好在微软开放了一些黑科技,可以在 WPF 上使用 Win2d 渲染,下面就让我告诉大家如何在 WPF 上使用 在 2019年7月03日 这个技术还是属于黑科技,还没有正式发布,在开始使用之前,有一定环境要求...你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.8”项目中,但该程序包不包含任何与该框架兼容程序集引用内容文件。有关详细信息,请联系程序包作者。...c:\Users\用户名\.nuget\packages\ 里面可以找到 如我 Microsoft.VCRTForwarders.140 内容在 c:\Users\lindexi.github.io\...\1.22.0\runtimes\win10-x64\native\ 将 Microsoft.Graphics.Canvas.dll 文件复制到输出文件夹 请将上面文件夹用户名替换为你自己用户名 当然这样呆魔大家一定不想使用

92120

何在 Linux 中使用 logname 命令?

在 Linux 系统,我们有许多命令可以帮助我们获取和管理系统信息。其中,logname 命令是一个简单但非常有用工具,它可以帮助我们获取当前登录用户用户名。...在命令行输入 logname,然后按回车键,它将打印出当前登录用户用户名。例如:$ lognameusername在这个例子,username 是当前登录用户用户名。...环境:logname 命令依赖于 /var/run/utmp 文件来获取当前登录用户用户名。如果这个文件被删除损坏,logname 命令可能无法正确工作。...然而,一些较老系统非标准 Linux 发行版可能不支持 logname 命令。在这种情况下,你可以使用其他命令, whoami id -un,来获取当前登录用户用户名。...总结logname 命令是一个简单但强大工具,它可以帮助你在 Linux 系统获取当前登录用户用户名

11110

为 Flask 应用添加用户登录

当然今天这篇文章不是来介绍 Flask ,而是如何在 Flask 增加用户管理「用户登录功能。...网页用户登录实现 在 Flask 中网页用户登录,主要通过 Flask-Login 扩展来完成, 通过 Flask-Login 可以实现以下功能: 存储会话活动用户 ID,并允许你随意登入登出...,可以通过用户名和密码来实现用户验证,但是你会发现所有的 url 你还是可以在没有登录状态下访问,那么如何使需要登录 url 处于保护状态呢?...通过 flaskhttpauth 可以通过 token 来登录,而不需要每次都在 http 请求携带用户名和密码。...']) return user 是在登录完成后通过 API 来获取 token ,以后访问 API 可以直接携带 token 无需使用用户名和密码进行登录

1.6K20

何在Linux中使用`usermod`命令,以便你可以灵活地管理用户账户?

在Linux系统,usermod是一个用于修改用户账户属性强大命令。它允许系统管理员对现有用户进行更改,例如修改用户名用户ID(UID)、用户ID(GID)、家目录、登录Shell等。...usermod命令正确使用对于维护系统安全性和灵活性至关重要。在本文中,我们将深入探讨如何在Linux中使用usermod命令,以便你可以灵活地管理用户账户。...在修改用户账户属性之前,建议进行全面备份,并确保你已获得足够权限(rootsudo)。步骤1:查看用户信息在开始使用usermod之前,我们应该先查看用户当前属性。...我们可以使用id命令查看用户UID和GID,使用cat /etc/passwd命令查看用户详细信息,或者使用getent passwd 命令获取特定用户信息。...id usernamecat /etc/passwdgetent passwd username步骤2:修改用户名要修改现有用户用户名,可以使用-l选项。

60140

win10 uwp 发布旁加载自动更新 总结

,将一个 UWP 程序使用旁加载发布,同时支持自动更新 首先创建一个简单 UWP 程序,这个程序显示当前版本,通过程序版本就可以知道是否更新成功。...解决了下载坑,最大问题在于更新问题,如果能使用自己服务器,那么在国内更新是没有网络问题 如果小伙伴不是使用预装,那么也可以自己写一个简单安装程序,这里就不说了 在 UWP 获取当前软件版本可以使用下面代码...Ip 127.0.0.1 内网 ip 都可以,上面的代码写在 Program 文件,请不要随意更改设置端口,应该刚才 UWP 程序就使用了这个端口 现在重新编译一下,然后通过命令行运行 dotnet...看起来自己做一个服务器让用户安装 UWP 程序还是很简单 但是有一个问题是 UWP 如何知道可以更新了?...,返回不同 appinstaller 文件,这样有一些用户就发现版本是新,下载新程序,有一些用户发现还是之前版本,于是就不会下载 现在开发 UWP 感觉还是不错,虽然没有多少用户会使用应用商店

1.6K30

JSP 内置对象使用详解

page:当前 JSP 页面的实例。如何使用 JSP 内置对象在 JSP 页面,您可以直接使用这些内置对象,无需任何额外声明实例化。它们已经由 JSP 容器自动创建和准备好了。...示例:创建一个简单用户登录页面让我们通过一个简单示例来演示如何在 JSP 页面中使用内置对象来创建一个用户登录页面。...这个页面将使用 request 对象获取用户输入用户名和密码,然后使用 session 对象来验证用户。...当用户提交用户名和密码时,我们使用 request 对象获取这些参数,并使用 session 对象来验证用户。如果用户名和密码匹配,用户将被重定向到欢迎页面(welcome.jsp)。...在欢迎页面,我们使用 session 对象获取登录用户名,并提供退出链接。结语JSP 内置对象是构建动态 Web 应用程序重要工具。

24030

UWP 开发,需要知道1000个问题

win10 uwp DataContext 如果觉得ms需要做一些功能,想去说垃圾ms,请到Welcome to the Windows developer feedback site!...UWP获取Encoding.Default Encoding.GetEncoding(0); 参见:UWP获取Encoding.Default - yinyue200 - 博客园 UWP 使用...UWP 获取软件版本 UWP 获取自己软件版本可以和服务器比较,判断当前是否需要升级,那么可以使用下面的代码获得 UWP 应用版本 Windows.ApplicationModel.Package.Current.Id.Version...UWP 应用获取各类系统、用户信息 (1) - 设备和系统基本信息、应用包信息、用户数据账户信息和用户账户信息 ContentDialog 透明背景 张高兴 UWP 开发笔记:定制 ContentDialog...参见 Data binding in depth 协变 逆变 协变 out ,:string->object (子类到父类转换) 逆变 in ,:object->string (父类到子类转换)

2.2K20

【Java 进阶篇】JSP 内置对象详解

page:当前 JSP 页面的实例。 如何使用 JSP 内置对象 在 JSP 页面,您可以直接使用这些内置对象,无需任何额外声明实例化。它们已经由 JSP 容器自动创建和准备好了。...示例:创建一个简单用户登录页面 让我们通过一个简单示例来演示如何在 JSP 页面中使用内置对象来创建一个用户登录页面。...这个页面将使用 request 对象获取用户输入用户名和密码,然后使用 session 对象来验证用户。...当用户提交用户名和密码时,我们使用 request 对象获取这些参数,并使用 session 对象来验证用户。如果用户名和密码匹配,用户将被重定向到欢迎页面(welcome.jsp)。...在欢迎页面,我们使用 session 对象获取登录用户名,并提供退出链接。 结语 JSP 内置对象是构建动态 Web 应用程序重要工具。

22160

win10 uwp 捕获后台线程异常

本文告诉大家如何在 UWP 捕获全局后台线程异常,在出现后台线程异常时,将会让 UWP 程序闪退,但是在退出之前还是可以执行自己代码 在 UWP ,如果需要捕获前台线程,也就是 UI 线程异常...,可以参见 UWP 全局异常处理 方法 在 App 构造函数添加 UnhandledException 事件,在事件方法里面通过参数 UnhandledExceptionEventArgs 可以设置当前这个异常是否被处理...,设置为 true 那么就是被处理异常,此时应用不会闪退 public App() { this.InitializeComponent()...; this.Suspending += OnSuspending; UnhandledException += App_UnhandledException...通过这个方法可以在软件退出前做日志记录 Application.UnhandledException Event (Windows.UI.Xaml) UWP 全局异常处理

57610
领券