ASP.NET多个登录“级别” - OAuth&形式

时间:2011-04-05 11:37:34

标签: asp.net authentication oauth asp.net-membership authorization

我将通过向当前使用Forms身份验证的现有ASP.NET站点添加OAuth登录(Facebook登录)来加入必须成千上万的其他开发人员。

很遗憾,我们无法为使用OAuth进行身份验证的用户提供对该网站的完全访问权限。

我希望用户可以使用两级访问权限,具体取决于他们自己进行身份验证的方式。如果他们已经通过OAuth登录,那么他们将具有有限的访问权限,如果他们通过表单进行了身份验证,那么他们将具有完全访问权限。

ASP.NET成员资格中是否存在允许多级身份验证的内置系统?

如果没有,任何人都可以提供有关如何实施此功能的任何提示或提示链接吗?

我认为,在最基本的层面上,所需要的是全局可访问的bool,它是基于每个登录设置的,表示用户是否使用OAuth登录。如果我能够在执行登录时设置User.Identity.AuthenticationType,那么它可能会成功。我当然希望避免给一个全新的自定义会员提供商带来麻烦。

1 个答案:

答案 0 :(得分:0)

这不能用角色完成吗?例如,您可以为从应用程序登录表单登录的用户分配一个名为“Native”的角色,从其他系统登录的用户分配一个名为“Outsiders”的角色。然后,您的页面会使部件可见/不可见,这取决于用户登录的角色。