我想为非网络请求设置身份。目前我正在使用FormsAuthentication,并通过此User.Identity.Name获取用户身份。现在我必须通过API让用户登录。我有用户的用户名/密码,我如何为此设置身份。设置非网络请求身份
0
A
回答
0
您需要创建您自己的IPrincipal和IIdentity实现,然后在通过身份验证后将其分配给HttpContext.User。
1
在非网络环境,标识设置的线程上,可以通过访问:
Thread.CurrentPrincipal.Identity
你可以用它来操纵身份或作为瓦迪姆建议,完全符合自己的自定义覆盖主要。
该代码片段取自System.Web.Security.Membership
类,该类可与web和非web环境中的主体配合使用,并分析两者如何一起使用。
public static string GetCurrentUserName()
{
if (HostingEnvironment.IsHosted)
{
HttpContext current = HttpContext.Current;
if (current != null)
{
return current.User.Identity.Name;
}
}
IPrincipal currentPrincipal = Thread.CurrentPrincipal;
if ((currentPrincipal != null) && (currentPrincipal.Identity != null))
{
return currentPrincipal.Identity.Name;
}
return string.Empty;
}
相关问题
- 1. 记住使用网络请求进行身份验证
- 2. ALDB身份验证请求
- 3. Python ::请求身份验证
- 4. Express.js POST空请求身份
- 5. 如何使用HTTPClient设置HTTP请求标题“身份验证”?
- 6. 未在登录请求中设置ASP.NET身份
- 7. 多网络请求&网络客户端
- 8. Google身份验证后没有携带身份验证cookie的React-Native网络请求
- 9. Firebase身份验证:signInWithEmailAndPassword返回错误代码身份验证/网络请求失败
- 10. 在某些页面上禁用身份验证,仅限本地网络请求
- 11. react -ative如何设置网络请求超时时间?
- 12. 设置请求标头SharePoint网络服务
- 13. 在网络中为授权令牌设置请求标头
- 14. 设计要求身份验证的Ajax请求
- 15. 嗅探网络请求
- 16. Safari 8网络请求空
- 17. GET网络请求参数
- 18. Python网络刮硒/请求
- 19. Three20:取消网络请求
- 20. 重定向网络请求
- 21. 重定向网络请求
- 22. 网络上的REST请求
- 23. “网络请求失败”
- 24. 网络请求失败Android
- 25. Unity3D网络请求流程
- 26. 的Process.Start网络驱动器上,要求进行身份验证
- 27. ASP.NET身份regenerats身份在每个请求
- 28. Python网络/服务器身份验证
- 29. Novell网络上的Windows身份验证
- 30. Windows网络身份验证正确