.net – SqlMembershipProvider与自定义解决方案
我在一个小型的开发人员团队中工作,对于完成一系列核心任务的最佳方法没有达成共识,其中一个是会员提供者.现在我无法确定这是否与缺乏其他思维方式或足够规模的项目有关,需要进行重大调查.
多年来我一直是.net网络开发人员(之前是php和asp经典),通常在开发应用程序时,我回避使用内置的.net SqlMembershipProvider主要是因为它经常看起来非常复杂,因为我的需求,其次是因为我只能想象这样一个复杂的数据模型可能会受到性能影响. 通常,我使用在相当简单的用户上操作的自定义成员资格和角色提供程序 – >用户角色< - 角色类型架构.我维护标准的成员资格提供程序功能,例如帐户恢复,配置文件详细信息,失败的登录帐户锁定,机密问题等,具体取决于相关应用程序的需求,例如AD安全应用程序几乎没有其他功能,面向公众的应用程序通常会有商场.它还意味着,如果出现任何需要存储过程来咀嚼用户数据的任务,那么它们很容易编写并且执行得非常好.直接的SQL命令,良好的索引和简单的数据模型,产生了一个高性能,可扩展的解决方案,需要改变我有完全的控制权,可以根据需要进行更改,这是我认为非常宝贵的. 根据您的经验,您会说这是一种过时的方法吗?您是否曾在内置提供程序中遇到任何可伸缩性问题?您通常采取什么方法以及在什么情况下? 谢谢 解决方法
除非你特别指出了令人信服的理由,否则我建议你从SQLMembershipProvider开始,并根据需要进行调整.
我们发现内置的提供商为我们提供了所有基础知识,而我们几乎没有任何工作.开发一个良好的安全结构有很多元素,很容易忘记其中一个,或者只是为了变得懒惰,而不是在你自己滚动时以“正确”的方式实现一个.我想到了通过电子邮件密码和密码重置等问题. 当然,SQLMembershipProvider并不是神奇的子弹.我们有一些情况需要做一些更复杂的身份验证.但我们只能通过扩展SQLMembershipProvider而不是替换它来解决这些问题.有关详细信息,请参阅What is a good way to extend .Net Membership to track user logins的答案. 我们没有注意到SQLMembershipProvider产生的任何重大性能问题,所以我认为播放性能卡是没有根据的.毕竟,您的用户通常花多少时间登录系统?如果您的所有页面加载速度很快,那么根据您可能会提高性能的(可能是错误的)想法编写所有自己的代码并没有真正的理由.这是我们一直在阅读的可怕的“过早优化”. 角色框架对我们的需求来说太简单了,所以我们根本不使用它.但它也没有妨碍. 而且,正如Hogan指出的那样,你更有可能找到已经熟悉内置提供程序工作方式的开发人员,这意味着他们将花费更少的时间来弄清楚你的架构和(希望)更多的时间完成真正的工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 从母版页调用部分视图时的ASP.NET MVC堆栈溢
- asp.net – 在项目之间共享aspx页面
- asp-classic – 从头开始??在Visual Studio 2010中创建经典
- asp.net-mvc – 如何从剃刀视图访问My.Resources
- asp.net-mvc – MVC Radiobutton绑定复杂对象
- asp.net-mvc – 保存后显示相同的页面
- asp.net-mvc – 在没有EF的情况下在appsettings.json中获取
- asp.net-mvc – 从扩展Apicontroller的MVC控制器返回Json
- asp.net-mvc – ASP.NET MVC中的动态范围验证2
- asp.net-core – .NET Core 2中缺少TaskCache类
- asp.net – 获取用户的IP地址
- asp.net-mvc – 使用MVC时,如何调用Controller A
- 关于ADO.NET连接池
- asp.net – 跟踪像素或javascript包括?
- asp.net – Visual Studio不识别新类
- asp.net-mvc – POST操作方法中强类型的ViewMode
- asp.net – 如何将JsonResult对象作为字符串获取
- asp.net – 通过VB.NET将click事件添加到按钮以激
- asp.net-web-api – 使用Fiddler进行包含OData命
- asp.net-mvc – ASP.NET MVC5 EF6与ApplicationU