首页
学习
活动
专区
工具
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.9K30

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和用户名获取角色/权限字符串集合。

93910

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 文件复制到输出文件夹 请将上面文件夹用户名替换为你自己用户名 当然这样呆魔大家一定不想使用

93220

何在 Linux 中使用 logname 命令?

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

11810

为 Flask 应用添加用户登录

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

1.7K20

何在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选项。

65540

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

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

1.6K30

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

JSP 内置对象使用详解

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

24330

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

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

22660

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 全局异常处理

57810
领券