2057 A+B


A + B Again

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 14710    Accepted Submission(s): 6396


Problem Description
There must be many A + B problems in our HDOJ , now a new one is coming.
Give you two hexadecimal integers , your task is to calculate the sum of them,and print it in hexadecimal too.
Easy ? AC it !
 

Input
The input contains several test cases, please process to the end of the file.
Each case consists of two hexadecimal integers A and B in a line seperated by a blank.
The length of A and B is less than 15.
 

Output
For each test case,print the sum of A and B in hexadecimal in one line.
 

Sample Input
+A -A +1A 12 1A -9 -1A -12 1A -AA
 

Sample Output
0 2C 11 -2C -90

//了解 __int64 的输入和输出方式即可

#include<iostream>
using namespace std;
void main()
{
	__int64 a,b,c;
	while(scanf("%I64X %I64X",&a,&b)!=EOF)
	{
		c=a+b;
		if(c<0)
			printf("-%I64X\n",-c);
		else
			printf("%I64X\n",c);
	}
}


<think>我们正在处理一个关于AADSTS16000错误的咨询,该错误涉及Live.com用户无法访问MicrosoftAzureMarketplace应用的问题。根据用户描述,此问题发生在MicrosoftServices租户环境中。**错误背景**:AADSTS16000错误通常与账户类型和AzureActiveDirectory(AAD)的认证问题有关。具体而言,当使用个人Microsoft账户(如@live.com,@hotmail.com,@outlook.com)的用户尝试访问需要AzureAD企业账户(或工作/学校账户)的资源时,可能会触发此错误。AzureMarketplace应用通常配置为要求企业账户访问,因此个人账户会被拒绝。**根本原因分析**:1.**账户类型不匹配**:AzureMarketplace应用程序通常注册在AzureAD企业租户中,并且配置为仅允许该租户内的用户(或指定租户的用户)访问。而Live.com账户属于个人Microsoft账户(MSA),无法在企业租户中自动识别。2.**租户配置限制**:目标应用程序的注册可能设置为“仅限此目录中的用户”访问(即单租户模式),或者虽然设置为多租户,但未配置允许MSA访问。3.**用户未邀请/未存在**:企业租户管理员必须明确邀请外部用户(包括MSA用户)到租户中,否则系统不会识别该用户。**解决方案**:根据AzureAD的权限模型和身份验证流程,我们建议按以下步骤操作:###步骤1:验证应用程序的账户支持类型-**登录Azure门户**,导航至**AzureActiveDirectory**。-选择**企业应用程序**>找到目标应用程序(来自Marketplace的应用)>**属性**。-检查**支持账户类型**设置:-✅如果应为多租户或支持MSA:应设置为`任何组织目录中的账户(任何AzureAD目录-多租户)和个人Microsoft账户(例如,Skype、Xbox)`。-❌当前可能设置为`仅限此目录中的账户(单租户)`。-修改设置后保存。###步骤2:邀请用户加入租户(如必要)如果应用程序配置正确但仍无法访问,可能是因为用户不在租户中。需要将Live.com用户作为**来宾用户**添加到AzureAD租户:1.**Azure门户**>**AzureActiveDirectory**>**用户**>**新用户**>**邀请用户**。2.输入用户的电子邮件地址(如user@live.com),设置邀请消息,发送邀请。3.用户收到邀请邮件后,必须点击**接受邀请**,完成加入租户的流程。4.之后,尝试使用Live.com账户登录应用。###步骤3:检查应用程序的权限/授权确保用户在应用程序中已被分配角色:-**企业应用程序**>选择应用>**用户和组**>添加用户(即之前邀请的Live.com用户)并分配适当的角色。###步骤4:检查条件访问策略如果租户配置了条件访问(ConditionalAccess)策略,可能会阻止外部用户访问:-在**条件访问策略**中,确保有一条策略允许从外部网络访问或排除该用户。###步骤5:使用正确的登录端点个人账户与企业账户有不同的登录流:-确保用户访问应用时使用正确的URL。如果是基于OAuth的登录,应用程序应使用`common`端点(用于多租户+MSA)或租户专用端点(但需要用户存在)。对于MSA,通常应使用`common`端点。-示例登录URL:`https://login.microsoftonline.com/common/oauth2/authorize`###额外建议-如果应用支持,尝试使用设备登录码流(devicecodeflow),这可以绕过一些登录界面问题。-使用浏览器隐私模式测试,避免缓存影响。**注意事项**:-修改应用程序的账户类型支持可能要求重新配置应用程序的manifest文件(需要管理员权限)。-邀请用户后,用户首次登录可能需要创建新的账户配置文件(将MSA与租户关联)。如果上述步骤仍无效,可以检查AzureAD的登录日志(需要AzureADPremium许可证)来查看详细的拒绝原因。日志位于:**AzureAD**>**监视**>**登录日志**,过滤该用户和应用登录事件,查看具体错误。**最终建议**:1.确认应用程序是否确实支持MSA类型账户(检查应用文档)。2.如果不支持,则需要用户使用企业账户。**相关技术参考**:[AzureAD身份验证场景](https://learn.microsoft.com/en-us/azure/active-directory/develop/authentication-flows-app-scenarios)§§相关问题§§1.如何配置AzureAD应用以支持个人Microsoft账户?2.在AzureAD中邀请外部用户后,用户仍然无法登录,可能的原因是什么?3.AzureAD条件访问策略如何阻止外部用户的访问?</think> ### 解决AADSTS16000错误:Live.com用户无法访问Azure Marketplace应用 #### **错误背景** `AADSTS16000`错误是Azure AD的认证失败代码,特指**个人Microsoft账户(如Live.com、Outlook.com)无法访问Microsoft Services租户中的资源**。当Live.com用户尝试访问Azure Marketplace应用时,系统会拒绝认证,因为: - **账户类型冲突**:个人账户(Live.com)无法直接访问企业租户中的应用(如Azure服务租户)。 - **租户隔离**:Microsoft Services租户默认只允许工作/学校账户访问,禁止个人账户[^1]。 --- ### **解决方案** #### ✅ **方法1:切换为工作账户**(推荐) 1. **创建/使用Azure AD工作账户**: - 让用户从Live.com切换到企业账户(如`user@company.com`)。 - 管理员在Azure AD中心添加该用户: **Azure门户 > Azure Active Directory > 用户 > 新建用户** 2. **重新分配应用权限**: - 在目标应用的**企业应用 > 用户和组**中,添加该工作账户并分配角色(如“所有者”)[^2]。 #### ✅ **方法2:配置租户支持个人账户**(需管理员权限) 1. **修改应用注册设置**: - 进入 **Azure AD > 应用注册 > 目标应用 > 身份验证** - 在**支持的账户类型**中,选择: `任何组织目录中的账户和个人Microsoft账户` ```diff ! 注意:此操作可能违反企业安全策略,需评估风险。 ``` 2. **添加自定义域并邀请用户**: - 在Azure AD中添加Live.com域名(如`contoso.onmicrosoft.com`)。 - 通过 **B2B协作邀请**用户: **Azure门户 > Azure AD > 用户 > 邀请用户**,输入Live.com邮箱并分配权限。 #### ✅ **方法3:修改应用服务主体**(技术性强) 1. 使用Azure PowerShell命令修改服务主体的账户类型: ```powershell Connect-AzureAD $sp = Get-AzureADServicePrincipal -SearchString "应用名称" Set-AzureADApplication -ObjectId $sp.AppId -SignInAudience "AzureADandPersonalMicrosoftAccount" ``` 2. 验证登录终结点:确保应用使用`common`端点: `https://login.microsoftonline.com/common/oauth2/authorize` --- ### **根本原因与预防** - **原因**: - Live.com账户属于个人身份体系(MSA),而Azure Marketplace应用通常绑定到企业租户(AAD)。 - 租户策略默认阻止跨账户类型访问。 - **预防**: - 强制使用工作账户访问企业资源。 - 若需支持个人账户,提前在应用的**身份验证**设置中配置多账户类型。 #### **调试建议** - 检查Azure AD登录日志: **Azure门户 > Azure AD > 登录日志**,筛选`AADSTS16000`错误详情。 - 使用[Microsoft的错误代码查询工具](https://login.microsoftonline.com/error)解析具体原因。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值