BLACK JACK

Get busy living, or get busy dying.
posts - 24, comments - 194, trackbacks - 30, articles - 3

2005年12月10日

不知道这个是否合适放在首页,有问题的话dudu帮忙我搬一下把。


今天抽空上来翻译了FAQs里的两篇,也是大家最常见的问题,关于membership数据库和密码强度。

看看长长的FAQs列表,以我现在的工作强度,想要一个人完成翻译计划看来是不太可能的来着。所以还是号召大家一起来翻译,众人拾柴火焰高嘛。

个人觉得没有必要每篇都翻,只要捡那些常见的或者有难度的来翻译就行了,当然可以更具你自己的兴趣。特别是可以在其中加入你自己的经验和体会,没有必要全文照搬。甚至可以写列表里没有的题目,只要你在标题前面加上[ASP.NET 2.0 Security FAQs] ,我就会把你的文章链进来,不久就可以形成一个很丰富的知识库了。

如果你有兴趣的话请在这里留言。为避免大家撞车,请写明你想翻译的题目。特别是关于Impersonation / Delegation Strong Naming and Signing  的部分,我个人不是很熟悉,希望能有达人来认领。


另外,Security Guidelines: ASP.NET 2.0  以及相关的26篇 How To 也是级好的资源。LoveCherry  已经翻译了其中的How To: Use Membership in ASP.NET 2.0 ,非常棒(点击这里阅读)。希望能有更多的人翻译其中的文章。我稍后把目录翻译出来。

关于 Guidelines FAQs 的内容有重复的部分,也是希望相关的章节能由一个人来翻译,这样即节省了不少时间,也丰富了资源。Guilddlines比较系统,适合整体学习之用,FAQs比较短小适合短时间速查之用,各有侧重点,都是很好的资源。

欢迎大家留言讨论关于Guidelines和FAQs翻译的相关问题,谢谢!

posted @ 2005-12-10 23:18 J. Lin 阅读(1148) 评论(5) 编辑

[ASP.NET 2.0 Security FAQs]目录

原文链接

翻译:2005-12-10  by  Jackie Lin

你可以在membership里配置minRequiredPasswordLength, minRequiredNonAlphanumericCharacters, 和 passwordStrengthRegularExpression 属性,来强制使用安全性高的密码.

安全性高的密码可以用来防止压力攻击(brute force attacks)和字典攻击(dictionary attacks).

SqlMembershipProviderActiveDirectoryMembershipProvider 的默认密码强度配置为:最少7个字符,其中最少有1个非字母数字的字符 .

如果你是在活动目录(AD)中使用ActiveDirectoryMembershipProvider , 你的域密码组策略(domain password policy)会默认的被使用, 不过你可以在你的程序里配置membership以覆盖相关的配置. 同样的, 如果你是在ADAM中使用ActiveDirectoryMembershipProvider , 你的本地密码组策略(local password policy)会默认被使用, 你也可以配置membership覆盖相关的配置.

你可以使用正则表达式来配置特别的密码强度规则, 或者你也可以配置密码中数字、字符、字母的最小最大长度.

使用正则表达式

<membership>
<providers>
   
<add passwordStrengthRegularExpression
                    "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$"
 />
 
</providers>
</membership>

使用最小的非字母数字字符长度

<membership>
 
<providers>
   
<add minRequiredPasswordLength=10 minRequiredNonalphanumericCharacters=2 />
 
</providers>
</membership>

译者注:以上均在web.config文件中配置

更多信息

更多关于强密码的信息请参考:"How To: Protect Forms Authentication in ASP.NET 2.0"  http://msdn.microsoft.com/library/en-us/dnpag2/html/PAGHT000012.asp

posted @ 2005-12-10 21:50 J. Lin 阅读(1579) 评论(2) 编辑

[ASP.NET 2.0 Security FAQs]目录

原文链接

翻译:2005-12-10   by Jackei Lin

ASP.NET 2.0 中的Membership, Profiles 和Role需要把相关信息存储到数据源中. 这几项特性的默认的provider分别是 SqlMembershipProvider, SqlProfileProvider 和 SqlRoleProvider.

如果你没有配置使用特别的provider, 你的程序就会使用以上默认的provider. 当你的程序第一次调用某个默认的provider时, ASP.NET会自动在App_Data 目录下新建一个SQL Express database用于存储所需的信息.

如果你想使用特定的SQL Server或SQL Express database server, 你必须配置你的程序以提供provider 所需的调用特定数据库的信息. 除此之外你必须配置相关的数据库.

使用Aspnet_regsql.exe来创建或配置特定的数据库.例如, 在命令行工具(cmd)里执行如下的指令:

 aspnet_regsql -S (local) -E -A mpr

-S  指派特定的数据库服务器, 在这个例子里是(local).

-E  使用Windows信任连接连接相关SQL Server服务器.

-A mpr  添加相关支持,为:m: membership,p: profiles, r: roles.

执行Aspnet_regsql /?,你可以得到所有相关命令的列表.

Aspnet_regsql 配置成功的aspnetdb(或其他)数据库是使用数据库角色(database roles)来控制书库访问的. 你必须让运行ASP.NET 程序的帐号能够访问aspnetdb数据库,这样你的程序才能使用数据库中的相关信息. 例如, 在SQL Query Analyzer里执行以下语句,使Network Service帐号能够造作相关的数据:

 --为Network Service帐号创建一个SQL Server登陆
 sp_grantlogin 'NT AUTHORITY\Network Service'
 --允许帐号访问membership数据库
 USE aspnetdb
 GO
 sp_grantdbaccess 'NT AUTHORITY\Network Service', 'Network Service'
 --把用户添加到数据角色
 USE aspnetdb
 GO
 sp_addrolemember 'aspnet_Membership_FullAccess', 'Network Service'


译者注:aspnet_regsql.exe位于C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 目录下,它还可以用来配置数据库以用于存储session。

其他相关资料:
Configuring ASP.NET 2.0 Application Services to use SQL Server 2000 or SQL Server 2005  by Scott Guthrie
中文:将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005

posted @ 2005-12-10 21:23 J. Lin 阅读(2280) 评论(0) 编辑