[英]MVC Create my own membership provider
通常,当我使用简单的成员资格提供程序时,我发现自己受到限制。 因此,我决定创建自己的会员资格提供者,但我有点迷茫。
到目前为止,我所做的是:
创建了一个新的公共类CustomMembershipProvider:System.Web.Security.MembershipProvider ..
更改了我的Web.config文件,以便我可以使用自己的提供程序。
我现在可以像这样在控制器中访问这些功能:var Membership =(Testproject.Custom_Membership_Provider.CustomMembershipProvider)System.Web.Security.Membership.Provider;
下一步是什么? 我希望能够从数据库中检索数据并进行更改。 例如,获取当前用户的电子邮件并能够对其进行更改。
我在正确的轨道上吗? 您能在这两个功能上给我一些入门帮助吗?
另外,如果您不使用任何成员提供程序(自定义或简单的),那么应该如何从数据库中检索和更改数据? 你能给我一个例子吗? 像,检索当前用户并更改其电子邮件。
我感谢我能获得的所有帮助! 谢谢/ confused kiddo
What's next?
实现所需的方法。 喜欢如果您需要能够检索用户信息,请实施
MembershipUser GetUser(字符串用户名,bool userIsOnline);
Am I on the right track here?
那么这取决于问题,为什么您选择推出自己的提供商? 您共享的示例也可以通过SimpleMembershipProvider
满意。 例如,如果要为用户添加电子邮件,则可以将其添加到UserProfile表中并轻松检索它。 在这里查看示例
Could you give me some starter help on those two functions?
您基本上需要使用您选择的数据库(SQL Server)和ORM(例如EF)来实现CRUD操作。 一旦能够读取数据库中的表并进行写入,就可以创建表UserProfile。 用户注册时,将用户信息插入其中。 当您想要验证时,请调用ValidateUser()
方法。 由于您是从MembershipProvider
派生的,因此您将必须实现所有必需的方法。 有关更多信息,请参考此链接
If you don't use any of the membership providers, custom or simple, how are you suppose to retrieve and change data from database?
这里讨论的问题有两个,一个是验证用户的能力(用户身份验证),第二个是从数据库存储和检索数据的能力。 我相信您的问题首先是参考。
ASP.NET通过身份验证提供程序实现身份验证,身份验证提供程序是包含对请求者的凭据进行身份验证所必需的代码的代码模块。 更多信息在这里
如果您不想使用ASP.NET成员身份,则必须选择其他框架进行用户身份验证或使用自己的框架(绝对不是一种经济有效的方法)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.