当前位置: 首页 > 编程语言 > C#

使用asp.net会员有什么优缺点?分享

时间:2023-04-10 16:56:14 C#

使用asp.net会员资格有哪些优点和缺点?我正在建立一个新网站,一位朋友建议我使用asp.net成员资格进行身份验证过程(登录、注册、密码恢复等)。我看到一切都存储在XML文件中。我想知道使用会员资格而不是从头开始构建东西的利弊。MS登录解决方案由几个部分组成。身份验证-“谁可以访问您的站点”表单身份验证-这基本上创建了一个安全cookie,上面写着“我已通过身份验证!”根据每个请求。否则,用户将不得不在每个页面上登录。成员资格——这是您存储用户及其密码以及验证用户凭据的方式。有几种方法可以解决此问题:使用SqlMembershipProvider-Microsoft为您提供了一个安全存储用户/密码的数据库,并为您提供了一种验证凭据的方法。缺点:创建自定义MembershipProvider-您可以继承MembershipProvider以自定义数据存储的位置和方式。缺点:创建自己的身份验证方案授权-“用户可以做什么?”角色-角色控制用户可以通过web.config提供的授权机制执行的操作以及站点地图上的安全修整。使用SqlRoleProvider-Microsoft为您提供了一个数据库来存储角色缺点:创建自定义RoleProvider-您可以从RoleProvider继承以自定义存储数据的位置和方式。创建您自己的身份验证方案值得注意的是,成员资格和角色提供者可以相互独立地选择或自定义。如果可以,我个人建议使用SqlMembershipProvider,并评估角色提供者的选项。我不喜欢使用附属提供商。这个在场景是“标准”的时候是有用的,但是如果你需要更多的自定义规则,我觉得不是很好。出现“解决方法”。无需存储在XML中,还有另一种解决方案(例如数据库)。缺点:优点:就我个人而言……如果这是一个严肃的项目,我会自己做(当然要保持表格经过认证)。根据我的经验,这些来自MS的“开箱即用”功能几乎已经成功了一半。ASP.NetMembership的美妙之处在于您可以随心所欲地使用它——您可以以各种形式存储用户数据(正如其他人所提到的),或者您可以只使用ASP.NetMembership来处理会话授权和页面保护。例如,您可以使用登录控件、SQLMembershipProvider后端,并让ASP.NetMembership执行所有端到端操作。或者您可以将自己的用户名和密码存储在自己的数据库表中,自己验证提供的详细信息,然后只需使用“FormsAuthentication.RedirectFromLoginPage()”告诉ASP.Net成员用户已通过身份验证,然后拥有ASP.Net成员控制对页面的访问。ASP.NetMembership已被Microsoft内外数以千计的网站试用、测试和使用,因此您知道您的代码可以正常工作。如果有问题,有很多实现可以找到它。你自己的方法只有一个用户。。。其实所有的东西都存储在XML文件中,不用忘记。您可以通过多种方式存储会员数据,包括数据库。您还可以使用ASP.NET角色/成员库作为滚动您自己的角色的起点。在Internet上,有一些有关执行此操作的教程。使用内置功能的优点是ASP.NET成员gui控件或多或少“只是工作”..;)在我看来,.NET成员提供程序是一个很好的方法。我编写了许多使用它们的大型应用程序。如果您的架构很好,那么在未来的版本中添加功能和更改数据将非常简单。这是构建我的答案的一些背景。.NET中的成员/角色/配置文件解决方案由两部分组成:框架和提供者。该框架包含您的程序将与之交互的方法和信息。提供商决定数据的存储方式。我发现这个框架非常好。无论你想如何与它互动,你都做不到。默认实现确实免费为您提供了很多。如果您使用良好的编码实践,任何功能缺失都会得到进一步缓解。请参阅入门ASP.NETMVC应用程序以获取包装成员资格框架的绝佳示例。数据似乎永远不会按照您想要的方式运行,但您对此无能为力。首先,正如人们所说,.NET有很多供应商。这也是您实现自己的提供程序的地方。我们通常从子类化SqlMembershipProvider开始。如果某些东西不能按照我们想要的方式工作,我们就会覆盖它。如果需要,稍后更改数据表并不难。使用已经存在的东西似乎总是能让我们快速行动并根据需要进行调整。实际上,此代码的更改并不经常发生。一开始使用Microsoft解决方案可能不会产生最漂亮的工作,但它可以快速完成工作并让你继续解决重要问题。以上就是C#学习教程:使用asp.net会员有什么优缺点?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: