2008-10-13 119 views

回答

2

假设您的数据库无法从外部访问,或者您已将其正确锁定,这将是存储密钥的首选方式。这使您的所有应用程序都能从相同的密钥/密码存储中获取,从而使更改变得非常快速和简单。

3

您可以将加密的值存储在.config文件中,并且ASP.NET 2.0将在运行时解密它们。

您的配置看起来是这样的:

<configSections> 
    <section 
     name="sampleSection" 
     type="System.Configuration.SingleTagSectionHandler" 
    /> 
</configSections> 

<MySecrets 
    FavoriteMusic="Disco" 
    FavoriteLanguage="COBOL" 
    DreamJob="Dancing in the opening ceremonies of the Olympics" 
/> 

,然后运行在命令行下,在相同的目录中的配置文件:

aspnet_regiis -pef MySecrets . 

从K.斯科特·艾伦:

http://odetocode.com/Blogs/scott/archive/2006/01/08/2707.aspx

1

取决于如何经常值改变。如果他们永远不会改变,那么我会把它们放在你的源代码中。

我会远离存储Web.Config中更改的数据,因为更改它会强制重新启动应用程序池。

我的投票是将它们加密存储在数据库中,并为值的改变提供一种简单的方法(例如,将值存储在缓存中,并在用户更改时对其进行刷新)。