![]() |
1
24
使用自己的身份验证系统 好主意。有太多的方法让它出错 似乎 总是 尽可能地依赖于您的平台为您提供的安全代码,无论是asp.net还是其他任何东西。这样做,系统就会得到部署更多的供应商的支持,这样就可以更容易地发现和修复错误,即使你确实有问题,当你的老板来询问时,你也可以把责任推到供应商身上。更不用说,一旦您第一次使用供应商的解决方案,其他部署将更快。这是正确的方法。 ASP.Net成员资格提供程序远非完美,但我向您保证,最好是从头开始构建它。 |
![]() |
2
13
的优点 provider model are outlined here
|
![]() |
3
12
我同意你的看法 Ayende's feelings about this :
这也是我的经历。每当我实现了自己的成员资格提供者(在本文撰写时两次)时,我都没有实现绝大多数被重写的方法,因为我从不调用它们,也没有使用任何使用它们的web表单控件。 如果Sql和activedirectory提供程序能够满足您的所有需求,那么它们就非常棒了。但是如果他们不这样做,而您正在考虑实现提供者,那么可能有一个更好的方法适合您。 FormsAuthentication ,我仍然经常依赖它来申请。这是一种机制,负责将用户的身份验证令牌包装在cookie中,并在客户端和服务器之间传递。就我所知,FormsAuthentication没有什么问题,我也不建议重新设计它。 如果你不想实现几十个 MembershipProvider methods , RoleProviderMethods ProfileProvider methods 那就实施吧 IPrincipal 和 IIdentity 做你该做的。 Here's an example 让这两个接口与FormsAuthentication一起工作,这是微不足道的。
另外,请注意,您需要聪明地存储用户的凭据。SqlMembershipProvider
自从我写这篇文章以来,ASP.net中的情况发生了变化。 ASP.NET Identity 替换以前的成员资格功能。 我的建议是使用新材料,因为:
|
![]() |
4
4
好 “坚持下去。”如果有什么东西能用,就别修了”等等。否则,考虑到成员API的程序员小时数、QA小时数和用户小时数是您自己能想到的任何东西的数千倍。 |
![]() |
5
4
|
![]() |
6
3
会员资格不仅仅是会员资格(登录、电子邮件、密码和相关功能)。Aspnet将成员资格和概要文件分开,并且它们可以集成。个人资料就是你所谓的“额外领域”。 这就是你跳过它时基本上会错过的。
您可以实现一个提供者,而不是一次删除提供者模型。 |
![]() |
7
2
在您的案例中,经过身份验证的用户是例外,而不是常规,因此您自己的用户可能不会受到影响。 net提供的一个功能是防止暴力攻击,如果有人试图暴力破解管理员密码,管理员帐户将被锁定。 |
![]() |
8
2
FSCAuth 而且是BSD许可的。 我让它比ASP.Net的内置身份验证更难出错。所有的cookie处理和实际的散列都留给了FSCAuth的核心,而您所要担心的只是将用户存储在数据库中并控制哪些页面需要进行身份验证。 如果您面临的问题是ASP.Net的内置身份验证和您自己的身份验证,我建议您先看看我的身份验证库,如果不只是把它作为一个起点的话。 |
![]() |
9
1
|
![]() |
Dudeinco · ASP。NET 3.5多角色提供程序 8 年前 |
![]() |
Lukasz Madon · 捕获同步调用的异步代码中的异常 10 年前 |
|
Pradeep Kumar · 在现有成员身份方法中添加一些字段 10 年前 |
![]() |
1110 · 转到SimpleMembership值得吗 11 年前 |
|
shahin ko · 什么是带有登录控制的算法哈希? 11 年前 |