私は ASP.NET Web サイトを作成しており、使用していForms Authentication
ます。すべてのセキュリティ部分にカスタム プロバイダーを使用しています (優れた TinyProviders xml ベースのデータ プロバイダー)。
現在、ユーザー データ ストア (Users.xml と呼ばれる xml ファイル) には、完全に暗号化されていないデータが含まれています。
<?xml version="1.0"?>
<ArrayOfXmlUser xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<XmlUser>
<UserKey>a34cc5b6-a0b9-4a5e-b055-951w799a8607</UserKey>
<UserName>Bill</UserName>
<Password>billspassword123</Password>
<PasswordSalt />
<Email>bill@contoso.com</Email>
<PasswordQuestion />
<PasswordAnswer />
<CreationDate>2013-03-14T21:46:36.7990912+00:00</CreationDate>
<LastActivityDate>2013-03-14T21:47:50.3483942+00:00</LastActivityDate>
<LastLoginDate>2013-03-14T21:47:50.3483942+00:00</LastLoginDate>
<LastPasswordChangeDate>2013-03-14T21:46:36.7990912+00:00</LastPasswordChangeDate>
<LastLockoutDate>9999-12-31T23:59:59.9999999</LastLockoutDate>
<IsApproved>true</IsApproved>
<IsLockedOut>false</IsLockedOut>
<FailedPasswordAttemptCount>0</FailedPasswordAttemptCount>
</XmlUser>
</ArrayOfXmlUser>
次のことを行うように Web サイトを構成するにはどうすればよいですか。
- パスワード ハッシュを保存する (プレーン テキストの代わりに)
- ユーザー ファイル内のすべてのデータ (またはせいぜい電子メールと名前) を暗号化する
私はWeb.config
TinyProvider のバイナリ ディストリビューションを使用しているため、私からこれを実行しようとしています。
ここに私のWeb.config
これまでのところがあります:
<?xml version="1.0" encoding="utf-8"?>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<profile enabled="true" defaultProvider="XmlProfileProvider">
<providers>
<clear/>
<add name="XmlProfileProvider"
applicationName="SampleWebsite"
type="Artem.Web.Security.XmlProfileProvider"/>
</providers>
</profile>
<membership defaultProvider="XmlMembershipProvider">
<providers>
<clear/>
<add name="XmlMembershipProvider"
applicationName="SampleWebsite"
type="Artem.Web.Security.XmlMembershipProvider"
minRequiredPasswordLength="1"
minRequiredNonAlphanumericCharacters="0"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
passwordFormat="Clear"/>
</providers>
</membership>
<roleManager enabled="true" cacheRolesInCookie="false" defaultProvider="XmlRoleProvider">
<providers>
<clear/>
<add name="XmlRoleProvider"
applicationName="SampleWebsite"
type="Artem.Web.Security.XmlRoleProvider"/>
</providers>
</roleManager>