<identity impersonate="true
userName="registry:HKLMSoftwareMyAppAspNet,Name",
password="registry:HKLMSoftwareMyAppAspNet,Password"/>
这个实用的aspnet_setreg.exe必须被用于加密用户凭证以及在注册表中存储加密的用户凭证。
5、授权
当你在ASP.NET中应用Windows授权时,为了访问一个给定的资源,被授权的用户必须有必要的NTFS权限。这被称为文件授权(file authorization)。ASP.NET支持其他的更具灵活性的授权类型,这被称为URL授权(URL authorization)。不像文件授权,这是通过应用程序的web.config文件来配置的。它主要是基于通过对ASP.NET身份认证来对应用 程序进行分配;而不是基于一个经过许可的Windows账户的权限上。一个简单URL授权配置的例子如下:
<configuration>
<authorization>
<allow verbs="GET" users="Fred,Joe"/>
<deny verbs="POST" users="Fred,Joe"/>
<allow roles="Developers"/>
<deny users="*"/>
</authorization>
</configuration>
这个例子允许用户Fred和Joe将HTTP GET请求提交到应用程序,以求得由web.config文件管理的网站中的任意资源。但是若通过HTTP POST请求,就会拒绝他们访问这些资源。担任开发者角色的任意人(除了Fred或 Joe)是允许无限制的访问该网站的,但是其他所有用户被拒绝访问任何资源。这些元素的顺序非常重要,因为第一个匹配将是ASP.NET会使用到的。最后 明确<deny users="*"/>通常需要锁定网站,因为默认情况下,machine.config文件包括了这样的配置:
<authorization>
<allow users="*"/>
</authorization>
|