我一直在思考如何解决在使用ASP.NET MVC时实现基于ID的用户系统的问题。我的目标,很像StackOverflow的系统如下:如何在ASP.NET MVC中实现基于ID的用户系统(成员资格,授权等)?
- 允许用户更改他们的昵称,而不用“避免重复”限制。
- 允许用户通过OpenID进行身份验证(暂时不使用密码)。
我想避免尽可能多的返工,所以我起初想到使用会员,角色和(可能)配置文件提供程序,但我发现它们是基于用户名的。 我想通过使用username字段来存储ID并在基于密码的方法之类抛出UnsupportedException等,以便能够使用其他系统,从而使适配器脱离SqlMembershipProvider。但它感觉很笨重和笨拙(如果可能的话)。另一方面,也许我应该卷起自己的用户系统,但我不确定如果即使我不能使用提供者,我仍然可以使用MVC的一些功能(将我的代码与MVC 某处,我可以把AuthorizeAttribute想象成我的头顶)。
所以我想知道是否有人遇到同样的设计问题,以及他们提出了什么解决方案。
越详细越好!