我的问题是关于一种方法,我正在寻找帮助我开发解决方案的提示或链接。我有一个 .NET 4.0 Web 表单应用程序,它使用用户和密码的 aspnetdb SQL 数据库进行表单身份验证。该应用程序的一项新功能是使用单点登录的新身份验证机制,以允许数千名新用户访问。本质上,当用户通过新的单点登录方法登录时,我将能够将他们识别为具有角色的合法用户。
所以我会有类似HttpContext.Current.Session["email_of_authenticated_user"](他们的身份)和HttpContext.Current.Session["role_of_authenticated_user"](他们的角色)的东西。
重要的是,我不一定想在将要停用的 aspnetdb 数据库中冗余地维护这些用户和角色,但我确实想使用上面的会话对象来允许用户通过应用程序,就好像他们在通过使用表单身份验证。我认为 CustomRoleProviders 或 CustomMemberProviders 没有帮助,因为它们不允许创建会话级用户。
所以我的问题是如何使用我必须“模仿”所有表单身份验证的会话级别用户和角色,例如强制:
[System.Security.Permissions.PrincipalPermission(System.Security.Permissions.SecurityAction.Demand, Role = "Student")]
或者
<authorization>
<allow users="wilma, barney" />
</authorization>
感谢您的任何指示。