当前位置: 首页 > 知识库问答 >
问题:

身份。在Azure上验证始终为真

锺霍英
2023-03-14

我目前正在使用ASP开发一个网站。net MVC框架,我决定停止使用本地数据库,并在azure上发布我的web应用程序及其关联数据库。现在我有一个奇怪的身份验证问题。身份IsAuthenticated总是正确的。起初,我得到了以下错误:

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier或http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider类型的索赔在提供的索赔身份中不存在。若要通过基于声明的身份验证启用反伪造令牌支持,请验证配置的声明提供程序是否在其生成的ClaimsId相实例上提供了这两种声明。如果配置的声明提供程序使用不同的声明类型作为唯一标识符,则可以通过设置静态属性AntiForgeryConfig来配置它。UniqueClaimType标识符。

在没有太多理解的情况下,我找到了一个解决方案,即在全局数据库中配置AntiForgery令牌。cs文件

AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Name;

此时错误停止显示,但在AspNetUsers表中不存在标识的用户。当然,当我试图在需要身份验证的部分从用户那里获取信息时,应用程序会崩溃,因为不存在任何条目。

在我的布局中,我有一段代码来显示一些数据,如果用户经过身份验证

@if (User.Identity.IsAuthenticated)
{
    using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
    {
        @Html.AntiForgeryToken()

        <ul class="nav navbar-nav navbar-right">
            <li>
                @Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
            </li>
            <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
        </ul>
    }
}

用户。身份。GetUserName()总是返回live.com#[MyAzureAccount]@outlook.com,我不可能退出。

这看起来像是一个身份问题,但是因为我没有接触到当我开始这个项目时生成的代码,并且因为它在本地工作,所以我希望它能工作。

共有1个答案

臧梓
2023-03-14

解决方案只是从azure下载发布文件,而不是手动填写发布字段。我真的不知道它为什么起作用,但它解决了问题。

 类似资料:
  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 我正在尝试构建一个带有Azure功能的单页应用程序,这样当用户想要访问我的网站时,他们可以访问我的Azure功能的url,这将是一个定制域,比如www.contoso.com 我的问题是,我如何才能为用户发起登录过程,就像在正常的网站中一样。在一个普通的asp网站中,visual studio提供了对此进行集成的选项,但我如何对azure函数进行同样的操作呢?

  • 我在Azure上使用botframework。当开始与机器人交互时,我会得到断断续续的身份验证错误。如果你只是忽略错误,机器人继续正常工作,你不会一直得到错误。 这是最内层的错误:操作返回了无效的状态代码“unauthorized”。错误发生在MessagesController+D__3.MoveNext方法中。

  • 如何使用Azure应用服务来验证Web API路由? 我需要向/api/test/auth路由发送什么才能返回200!? 返回401未授权错误?我需要在代码中设置一些东西来处理Twitter授权吗?

  • 我正在Angular中实现Azure Active Directory B2C身份验证。我正在使用msal拦截器连接Azure广告B2C。身份验证请求失败并出现错误 访问“https://login.microsoftonline.com/...”的XMLHttpRequest从来源“http://localhost/..."已被CORS策略阻止:请求的资源上没有“访问-控制-允许-来源”标头。

  • 我正在为我的azure无状态服务fabric应用程序从密钥存储库中获取机密值,并在100s密钥存储库机密中仅有2个密钥存储库机密获得401个依赖项错误(如果我通过connected application insight检查的话)。下面给出的是通过应用程序洞察显示的依赖错误的截图,其中一个密钥存储库的秘密。 这里请求路径是https://mykeyvaultname.vault.azure.net