结合OracleMembershipProvider开发简单的asp.net应用程序----配置web.config文件
配置web.config文件
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" defaultUrl="~/Default.aspx" protection="All" timeout="1000" cookieless="UseCookies">

</forms>
</authentication>
在authentication节点,添加forms的说明
loginUrl:登录页面
defaultUrl:缺省页面
timeout:过期时间
这些节点值,可以直接通过FormsAuthentication类访问,如访问loginUrl,代码是:FormsAuthentication.LoginUrl
配置数据源
<connectionStrings>
<add name="LingAnChuLi" connectionString="Data Source=zwz;Persist Security Info=True;User ID=test;Password=test"
providerName="System.Data.OracleClient" />
</connectionStrings>
配置OracleMembershipProvider
<membership defaultProvider="OracleMembershipProvider" userIsOnlineTimeWindow="10">
<providers>
<add name="OracleMembershipProvider" type="OracleMembershipProvider" requiresQuestionAndAnswer="true" connectionStringName="LingAnChuLi" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordFormat="Encrypted"/>
</providers>
</membership>
<machineKey validationKey="D61B3C89CB33A2F1422FF158AFF7320E8DB8CB5CDA1742572A487D94018787EF42682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" decryptionKey="FBF50941F22D6A3B229EA593F24C41203DA6837F1122EF17"/>
PasswordFormat 属性指示存储密码的格式。密码可以采用 Clear、Encrypted 和 Hashed 密码格式存储。Clear 密码以明文形式存储,这可以提高存储和检索密码的性能,但安全性较差,当数据源安全性受到威胁时此类密码很容易被读取。Encrypted 密码在存储时进行了加密,可以在比较或检索密码时进行解密。此类密码在存储和检索时需要进行额外的处理,但比较安全,在数据源的安全性受到威胁时不容易被获取。Hashed 密码在存储到数据库时使用单向哈希算法和随机生成的 salt 值进行哈希处理。在验证某一密码时,将用数据库中的 salt 值对该密码进行哈希计算以进行验证。无法检索哈希密码。
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="jlike@163.com">
<network host="smtp.163.com" userName="jlike" password="" port="25" defaultCredentials="false" />
</smtp>

</mailSettings>
</system.net>
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" defaultUrl="~/Default.aspx" protection="All" timeout="1000" cookieless="UseCookies">
</forms>
</authentication>在authentication节点,添加forms的说明
loginUrl:登录页面
defaultUrl:缺省页面
timeout:过期时间
这些节点值,可以直接通过FormsAuthentication类访问,如访问loginUrl,代码是:FormsAuthentication.LoginUrl
配置数据源
<connectionStrings>
<add name="LingAnChuLi" connectionString="Data Source=zwz;Persist Security Info=True;User ID=test;Password=test"
providerName="System.Data.OracleClient" />
</connectionStrings>配置OracleMembershipProvider
<membership defaultProvider="OracleMembershipProvider" userIsOnlineTimeWindow="10">
<providers>
<add name="OracleMembershipProvider" type="OracleMembershipProvider" requiresQuestionAndAnswer="true" connectionStringName="LingAnChuLi" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordFormat="Encrypted"/>
</providers>
</membership>
<machineKey validationKey="D61B3C89CB33A2F1422FF158AFF7320E8DB8CB5CDA1742572A487D94018787EF42682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" decryptionKey="FBF50941F22D6A3B229EA593F24C41203DA6837F1122EF17"/>
在membership节点声明OracleMembershipProvider,节点的意义参考微软的说明文档。
在这里注意属性passwordFormat="Encrypted",下面是引用的一段说明
PasswordFormat 属性指示存储密码的格式。密码可以采用 Clear、Encrypted 和 Hashed 密码格式存储。Clear 密码以明文形式存储,这可以提高存储和检索密码的性能,但安全性较差,当数据源安全性受到威胁时此类密码很容易被读取。Encrypted 密码在存储时进行了加密,可以在比较或检索密码时进行解密。此类密码在存储和检索时需要进行额外的处理,但比较安全,在数据源的安全性受到威胁时不容易被获取。Hashed 密码在存储到数据库时使用单向哈希算法和随机生成的 salt 值进行哈希处理。在验证某一密码时,将用数据库中的 salt 值对该密码进行哈希计算以进行验证。无法检索哈希密码。使用Hashed是最安全的方式,但由于是单向加密,无法解密,故而无法使用“找回密码”的功能。所以这里使用了Encrypted的方式。
如果要使用“找回密码”功能,需要配置邮箱的设置
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="jlike@163.com">
<network host="smtp.163.com" userName="jlike" password="" port="25" defaultCredentials="false" />
</smtp>
</mailSettings>
</system.net>至此,使用登录控件的web.config配置完成。
posted on 2007-08-26 14:09 amber lee zhao 阅读(471) 评论(0) 收藏 举报
浙公网安备 33010602011771号