Mvc4單點登入之三Cas 客戶端配置
阿新 • • 發佈:2019-01-08
上一篇部落格講解了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>
第五步看效果
這樣單點登入的客戶端的配置到這裡就算完成了!