自定义ASP.net会员4.5

时间:2013-01-22 15:23:59

标签: c# asp.net linq entity-framework

我目前正在使用创建新解决方案时使用的默认ASP.NET 4.5成员资格。我已经对它添加角色进行了一些更改,所以第四,但现在我想继续自定义我很好奇它是一个“更好的做法”来定制给定的成员资格(仍在研究这是多么可能)或者我最好尝试从头开始构建这个?  我正在努力教我的自我,我希望获得经验,因为如果我被录用,我会看到。企业是否使用ASP.net会员资格? 我当前的项目使用代码第一实体框架和LINQ。我觉得会员资格可以说很多。它执行的操作背后的代码非常少,现在我想要做出改变,这有点让我失望。

任何人都可以对此有所了解或者推荐一些好读物吗?

按要求编辑

到目前为止简单的事情就像创建用户时一样,我想添加一些字段来请求更多信息。

`  protected void RegisterUser_CreatedUser(object sender, EventArgs e)
        {
            FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);

            string continueUrl = RegisterUser.ContinueDestinationPageUrl;
            if (!OpenAuth.IsLocalUrl(continueUrl))
            {
                continueUrl = "~/";
            }
            Response.Redirect(continueUrl);
        }` 

我没有看到代码隐藏如何抓取表单中的数据。或者它是如何真正做到令人尴尬的。我对LINQ和Entity有很好的理解,所以我想用它来修改它,我想这怎么可能修改呢?

3 个答案:

答案 0 :(得分:1)

最佳做法是覆盖特定方法,而不是重写全新的提供商。

public class MyMembershipProvider : MembershipProvider {}

如果你想学习,我会建议反编译提供者dll,看看底层是什么。它太大了;我不能在这里张贴他们。 Telerik JustDecompile

答案 1 :(得分:0)

根据经验,一些企业使用.NET的Custom MembershipProvider和Custom RoleProvider作为其成员资格提供者的支柱。我认为遵循类似于此示例的模式会很有帮助: Custom MembershipProvider in .NET 4.0 它应该让你开始。

答案 2 :(得分:0)

我们在多个应用程序中使用了MembershipProvider。 然后我们转移到Custom MembershipProvider,它解决了客户端的一些特定于域的请求。

当我们使用MembershipProvider

时,我们的DBA对在MSQL中创建的所有表都不满意

现在我们不使用MembershipProvider并从头开始构建大部分内容。

我们确实使用了一些内置函数,例如System.Web.Security.FormsAuthentication.SignOut()等。

祝你好运..