記事の個別表示(修正可)
タイトル  Loginを使ってForm認証
本文  
 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に飛べば、めでたしめでたし。

...21222324252627282930...