我在登录页面中使用 SSO,虽然通过 okta 进行身份验证并接收用户声明详细信息,但代码无法正常工作,而是在现有角色提供程序类旁边进行控制。
Ienumerable userdetails= HttpContext.Current.GetOwinContext().Authentication.User.Claims;
获取用户声明详细信息的代码,
一旦断点到达这一行,下一行控制就会打开,
Public Class AppRoleprovider: Roleprovider
{
Public override String [] GetAllRoles()
{
return GetAllRolesfromtableAdapter();
}
}
并继续,但这不是预期的行为。
我已经找到了问题的解决方案。这是一个已经存在的应用程序,我正在作为增强功能的一部分工作,在网络配置中有一个标签。所以我把它设置为enabled=false。
进行此更改后,以下行能够成功执行并能够接收用户声明。
可枚举的用户详细信息= HttpContext.Current.GetOwinContext().Authentication.User.Claims;