我正在尝试将我的网站从asp.net会员sql提供商切换到使用facebook connect进行OAuth单点登录。我想继续使用角色提供程序,因为它通过使用Authorize(Roles =“...”)属性标记控制器类或控制器方法,使得我的网站的安全部分非常简单。该网站尚未生效,所以如果可以的话,我将彻底放弃Asp.net会员提供商。 (保留角色和个人资料提供者)
我有facebook连接记录用户,我可以获取他的信息。但是我如何将其与角色联系起来呢?
我希望系统在对我的应用进行身份验证和授权后,自动将新用户添加到“SuperHero”角色。
我在这里吗?使用OAuth2时是否有更好的方法来处理角色?我想稍后添加其他OAuth提供程序。
另一种方法是保留asp成员资格,然后当我通过facebook connect登录时,我可以找到他的记录并用aspmembership签名。但这似乎很草率。
一些示例代码会很棒,我认为其他人也会觉得它很有帮助。
THX, 丹
答案 0 :(得分:1)
最简单的方法是实际为自己实现FacebookMembershipProvider。这样,它自然地与所有其他提供商联系在一起。主要的缺点是a)很多代码b / c成员资格是一个胖接口,而b)它假设你会做密码等一些残酷的b / c,显然你不需要OAuth。