【问题标题】:Change Anonymous to Authenticated in WebAPI在 WebAPI 中将匿名更改为经过身份验证
【发布时间】:2017-02-28 22:37:42
【问题描述】:

我有一个接受匿名身份验证的 WebAPI,我在缓存中保存了一些与该匿名用户相关的信息。

在网络的最后一步,我想邀请用户在应用程序中注册,但不会丢失缓存的信息。

将匿名用户更改为经过身份验证的用户的最佳选择是什么?

【问题讨论】:

    标签: authentication asp.net-web-api owin anonymous


    【解决方案1】:

    如果您的 Web 应用程序是一个 asp.Net Web API,我建议您在要防止匿名访问的控制器类或控制器操作前面添加一个 [Authorize] 属性 (https://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute(v=vs.118).aspx)。

    这里有解释:https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

    为了在实践中做到这一点,Visual Studio 2015 / 2017 向导在创建 ASP.NET 应用程序时会询问您要启用的身份验证类型,并为您添加必要的代码,并配置 Azure如果您需要 Active Directory 应用程序。

    【讨论】:

    • 感谢@jean-marc-prieur 但我没有任何授权问题,我需要将匿名用户更改为登录用户,而不会丢失声明或缓存数据
    • 好的,抱歉我的误解,@Sergio。然后您可能想要查询经过身份验证的用户的声明,特别是使用 ClaimsPrincipal.Current 例如 ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value。
    猜你喜欢
    • 2019-03-06
    • 1970-01-01
    • 2015-11-13
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    相关资源
    最近更新 更多