1. 程式人生 > >Mvc4單點登入之三Cas 客戶端配置

Mvc4單點登入之三Cas 客戶端配置

       上一篇部落格講解了cas服務端的配置,這篇部落格為大家講一下cas 客戶端的配置!

第一步建專案

       自己新建一個mvc的專案。如圖所示!

           

第二步添引用

       將上一篇部落格開頭中讓下載的檔案,下載下來後,將dotnet-client-1.0.2-bin 檔案中的 DotNetCasClient.dll檔案複製到bin資料夾下,並新增DotNetCasClient.dll的引用。

第三步添檢視

      在Controller中 新建一個controller命名為HomeController,然後為裡邊的index新增一個對應的檢視!可以參見部落格

MVC系列之 ----登入例項 。裡邊有很詳細的講解!

第四步修改配置檔案

         下邊的是我建立專案的配置檔案,照著這個配置檔案進行修改就可以,總共有6個地方需要進行修改!各個節點的說明已經寫好!

<span style="font-size:18px;"><configuration>
  <!--CAS開始-->
  <configSections>
    <!--定義casClientConfig-->
    <sectionname="casClientConfig"type="DotNetCasClient.Configuration.CasClientConfiguration,DotNetCasClient"/>
  </configSections>
  <!--cas結束-->
  <!—cas開始-->
 
  <!--cas   配置casClientConfig-->
  <!-- 
  casserverloginurl
    要求URL CAS登入表單。
    ServerName 要求
    承載此應用伺服器的主機名。這是用來生成的URL將被髮送到CAS伺服器重定向。CAS伺服器必須能夠解析這個主機名。就是你的應用程式的釋出地址 特別需要注意 一定要寫當前應用程式的地址!
    casserverurlprefix  要求
    URL的CAS伺服器應用程式根。
    ticketvalidatorname     要求
    票驗證器驗證CAS票使用特定的協議名稱。有效值是cas10 cas20 saml11,,。
  singlesignout
    使該應用程式接收CAS單點出傳送的資訊,當用戶的登入會話結束。這將導致該應用程式被破壞使用者的會話。預設的是真的。
    其他的為可選的
-->
  <casClientConfig
    casServerLoginUrl="http://192.168.24.247:8089/cas/login"
    casServerUrlPrefix="http://192.168.24.247:8089/cas/"
    serverName="http://localhost:1255"
    redirectAfterValidation="true"
    renew="false"
    singleSignOut="true"
    ticketValidatorName="Cas20"
    serviceTicketManager="CacheServiceTicketManager"/>
  <!—cas結束-->
  <appSettings>
    <addkey="webpages:Version"value="2.0.0.0"/>
    <addkey="webpages:Enabled"value="false"/>
    <addkey="PreserveLoginUrl"value="true"/>
    <addkey="ClientValidationEnabled"value="true"/>
    <addkey="UnobtrusiveJavaScriptEnabled"value="true"/>
  </appSettings>
  <system.web>
    <!—cas 開始
        配置ASP.NETForms身份驗證部分,以便它指向的屬性定義casclientconfig casserverloginurlCAS伺服器的登入URL。
      CAS登入URL是在這兩個位置同樣是非常重要的。
      defaultUrl 預設登入跳轉的相對地址
-->
   
    <authenticationmode="Forms">
      <formsloginUrl="http://192.168.24.247:8089/cas/login"
              timeout="30"
              defaultUrl="~/Home/Index"
              cookieless="UseCookies"
              slidingExpiration="true"/>
      <!--path="/NetCasClient"-->
    </authentication>
   
    <authorization>
      <denyusers="?"/>
</authorization>
<!—cas 結束-->
    <httpRuntime/>
    <compilationdebug="true"targetFramework="4.0"/>
    <pagescontrolRenderingCompatibilityVersion="4.0">
      <namespaces>
        <addnamespace="System.Web.Helpers"/>
        <addnamespace="System.Web.Mvc"/>
        <addnamespace="System.Web.Mvc.Ajax"/>
        <addnamespace="System.Web.Mvc.Html"/>
        <addnamespace="System.Web.Routing"/>
        <addnamespace="System.Web.WebPages"/>
      </namespaces>
    </pages>
    <!--cas 開始-->
    <httpModules>
      <addname="DotNetCasClient"type="DotNetCasClient.CasAuthenticationModule,DotNetCasClient"/>
    </httpModules>
    <!--cas結束-->
  </system.web>
  <system.webServer>
    <validationvalidateIntegratedModeConfiguration="false"/>
    <handlers>
      <removename="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/>
      <removename="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/>
      <removename="ExtensionlessUrlHandler-Integrated-4.0"/>
      <addname="ExtensionlessUrlHandler-ISAPI-4.0_32bit"path="*."verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"modules="IsapiModule"scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"preCondition="classicMode,runtimeVersionv4.0,bitness32"responseBufferLimit="0"/>
      <addname="ExtensionlessUrlHandler-ISAPI-4.0_64bit"path="*."verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"modules="IsapiModule"scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"preCondition="classicMode,runtimeVersionv4.0,bitness64"responseBufferLimit="0"/>
      <addname="ExtensionlessUrlHandler-Integrated-4.0"path="*."verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"type="System.Web.Handlers.TransferRequestHandler"preCondition="integratedMode,runtimeVersionv4.0"/>
    </handlers>
   
    <!—cas開始
        加入到<系統註冊與ASP.NET管道casauthenticationmodule網路部分表現在以下配置塊。-->
    <modules>
      <removename="DotNetCasClient"/>
      <addname="DotNetCasClient"type="DotNetCasClient.CasAuthenticationModule,DotNetCasClient"/>
    </modules>
    <!—cas結束-->
  </system.webServer>
  <!--cas開始-->
  <system.diagnostics>
    <traceautoflush="true"useGlobalLock="false"/>
    <sharedListeners>
      <addname="TraceFile"type="System.Diagnostics.TextWriterTraceListener"initializeData="F:\RunLog\DotNetCasClient.Log"traceOutputOptions="DateTime"/>
    </sharedListeners>
    <sources>
      <sourcename="DotNetCasClient.Config"switchName="Config"switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <addname="TraceFile"/>
        </listeners>
      </source>
      <sourcename="DotNetCasClient.HttpModule"switchName="HttpModule"switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <addname="TraceFile"/>
        </listeners>
      </source>
      <sourcename="DotNetCasClient.Protocol"switchName="Protocol"switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <addname="TraceFile"/>
        </listeners>
      </source>
      <sourcename="DotNetCasClient.Security"switchName="Security"switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <addname="TraceFile"/>
        </listeners>
      </source>
    </sources>
    <switches>
      <addname="Config"value="Verbose"/>
      <addname="HttpModule"value="Verbose"/>
      <addname="Protocol"value="Verbose"/>
      <addname="Security"value="Verbose"/>
    </switches>
  </system.diagnostics>
  <!--cas 結束-->
</configuration></span>

第五步看效果


這樣單點登入的客戶端的配置到這裡就算完成了!