Yale CAS + .NetClient実現SSO(4)

9156 ワード

  • 第一部分:インストール構成Tomcat
  • 第2部:インストール構成CAS
  • 第三部分:ASPを実現する.NET WebForm Client

  • 第四部分:データベースベースの認証を実現する
    1.Microsoft JDBC Driver for SQL Serverをダウンロードします.
    (1)Microsoft JDBC Driver 4.0 for SQL Serverダウンロードアドレス:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774
    ウェブサイトは2種類のフォーマットのファイルを提供してダウンロードして、1つは自己解凍のEXEフォーマットのファイルで、もう1つはtar.ですgz形式の圧縮ファイル.2種類のフォーマットは1つを選んでダウンロードすることができて、解凍を経て、2つのJARフォーマットのファイルを得ることができます:sqljdbc.JArとsqljdbc 4.jar.
    (2)本人がSQL Server 2012を使用しているため、「sqljdbc 4.jar」を「%TOMCAT_HOME%webappscasWEB-INFlib」フォルダにコピーする必要がある.
    (3)このシリーズの第2部では、CASサイトから「cas-server-3.5.1-release.zip」をダウンロードして解凍することについて言及しています.解凍したファイルの下に「modulescas-server-support-jdbc-3.5.1.jar」を見つけ、「%TOMCAT_HOME%webappscasWEB-INFlib」フォルダに一括コピーします.
     
    2.認証用データベースの作成
    (1)SQL Server Management Studioを起動し、データベース「UsersDB」を新規作成し、表「Users」を作成します.
    Yale CAS + .net Client 实现 SSO(4)_第1张图片
    (2)表にいくつかのテストデータを入力します.
    Yale CAS + .net Client 实现 SSO(4)_第2张图片
     
    3.CASを構成してデータベースベースの認証を実現する
    (1)管理者としてテキスト編集ツールを起動し、「%TOMCAT_HOME%webappscasWEB-INFdeployerConfigContext.xml」を開きます.次のコードを見つけます.
    <bean id="authenticationManager"
        class="org.jasig.cas.authentication.AuthenticationManagerImpl">

    (2)このセグメントコードの前にSQL Server JDBCデータソース構成情報を挿入する:
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
        <property name="url" value="jdbc:sqlserver://192.168.0.123:1433;databaseName=UsersDB"></property>
        <property name="username" value="sa"></property>
        <property name="password" value="YourPassword"></property>
    </bean>

    次の図に示します.
    Yale CAS + .net Client 实现 SSO(4)_第3张图片
    (3)次の構成情報が見つかりました.
    <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

    この構成情報は、S i m p l e T e s t U s e r n m e P a s s s w o r d AuthenticationHandlerを使用してユーザーを検証します.つまり、デフォルトのユーザー名とパスワードが同じであれば検証に合格し、ユーザー名のパスワードが異なるとログインに失敗します.データベース検証ベースの構成情報に置き換える必要があります.
    まず、上記の構成情報をコメントし、その下に次の構成情報を挿入します.
    <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
        <property name="sql" value="select Password from users where username=?" />
        <property name="dataSource" ref="dataSource" />
    </bean>

    図に示すように、
    Yale CAS + .net Client 实现 SSO(4)_第4张图片
    説明:SQL Server 2012をインストールしている場合、デフォルトのTCP/IPアクセスプロトコルは開かないので、IPアドレスでSQL Serverデータにアクセスできません.解決策はSQL Server構成マネージャを起動し、TCP/IPを有効にします.有効になったら、SQL Serverサービスを再起動して設定を有効にすることです.図に示すように、
    Yale CAS + .net Client 实现 SSO(4)_第5张图片
    (4)「%TOMCAT_HOME%webappscasWEB-INFdeployerConfigContext.xml」への変更を保存します.
    (5)Tomcatサービスを再起動する.
     
    4.データベースベースの認証のテスト
    クライアントから前にデバッグしたWebFormプログラム(参考:Yale CAS + .NetClient実現SSO(3))を実行し、ユーザー名「admin」、パスワード「123」を入力し、ログインに成功したかどうかをテストします.すべての構成が正常であれば、プログラムのログイン後のインタフェースは下図のように見えます.
    Yale CAS + .net Client 实现 SSO(4)_第6张图片
     
    5.ログイン体験のさらなる改善
    実際の使用中に、ユーザーはユーザー名、パスワードなど、さまざまな方法でログインしたい場合があります.メールボックス、パスワード;携帯電話の番号、パスワード、どのように多種の方式の登録の問題を解決しますか?次のセクションでは、このような問題をどのように解決するかについて深く議論します.
     
    続行...