|
用户授权和信任书
<authorization>这一区段包含的设置会明确地允许(<allow>)或者不允许(<deny>)对一个用户、一组用户或者一类用户的访问。这些设置所能够接受的值是:用于匿名用户的问号(?)、用于所有用户的星号(*),或者是使用逗号隔开的特定用户名的列表。
你可以指定由<allow>和<deny>两者之一或者两者同时来定义你网站的安全。在Listing A里,我指明除匿名用户和四种麻烦制造者以外的所有人都被允许访问,这四种人已经带来了够多的麻烦,所以被禁止:黑客(Hacker)、骇客(Cracker)、fasherman和hillgirl。如果我把用于这些用户属性的<allow>和<deny>标签进行交换的话,那么就只有匿名用户和这四类用户具有访问权。其他任何没有合法信任书的用户都会被拒之门外。
尽管你可以把用户名保存在<credentials>元素里,以此来维护你的用户帐号,但是我不推荐这么做。如果你真的把用户信息保存在web.config文件里,那么用户验证就只会在那个特定的Web服务器上进行。在碰到大规模的Web服务器群或者负载均衡Web服务器的情况下,发生在一台机器上的验证也要发生在同一Web服务器群的其他所有服务器上。
防止用户在每个页面都必须登陆的唯一方法是把数据保存在一个通用的数据仓里,例如数据库。不要把用户的信任书保存在web.config文件里的另一个原因是,服务器必须重启,以重新加载新的信任书。这一问题应该会在未来的操作系统里得到修正,但是对于运行IIS5的Windows 2000服务器版来说,这是个已经具有的问题。
诸多优点
你现在已经看到了如何使用XML文件里的元素,IIS需要这些元素来管理ASP.NET Web应用程序的元素。这个配置模型具有诸多你已经体会到了的优点。由于IIS通过监视web.config文件来进行更改,所以配置文件的任何变动都会立即体现出来:这样就不需要服务器的重启。 | |