ASP.NETで、使える認証は、数が多そうだ。その中でも、Form認証は、良く使われると見えて、解説が多い。ただ残念な事に、ツールボックスのLoginを使った物に出くわさない。そこで、変な話だが、敢えてツールのLoginを配置して作ってみようとした。だが、結構まごついた。
ASP.NETには、名著と言われる適切なマニュアルが無い。Helpは、VB6.0と比べると、全くなって居ない。それでも、何とかHelpで探し当てた感じだ。
出来上がってみると、結局なんていう事は無い、自分で作るなら、TextBox1.Textと簡単に分かるが、Loginでは、何なの? そこが迷ったわけだ。結論から言えば、ユーザー名とパスワードは、Login1.UserNameとLogin1.Passwordだ。これが分かれば、後は、他の解説を参考に組める。たったこれだけの事だが、他のコマンド同様に、ASP.NETのHelpは、実に分かりにくい。VB6.0とは、そこが大違いだ。
参考に、リストを載せる
ファイル名<Web.config>
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="Login.aspx" protection="All" timeout="30">
<credentials passwordFormat="Clear">
<user name="watashi" password="007"/>
<user name="sasoh" password="12345"/>
<user name="suzuki" password="12345"/>
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<compilation targetFramework="4.0"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
</system.web>
</configuration>
ファイル名<Login.aspx>は、ツールよりLoginを配置する。ボタンには、下記コードを配置する
Protected Sub LoginButton_Click(sender As Object, e As System.EventArgs)
If FormsAuthentication.Authenticate(Login1.UserName, Login1.Password) Then
FormsAuthentication.RedirectFromLoginPage(Login1.UserName, False)
Else
Login1.FailureText = "Error"
End If
End Sub
後は、Default.aspxなどを配置して、ページを作る。出来たら、そのページを動かしてみる。開かずにLoginに飛べば、めでたしめでたし。