上一篇博客讲解了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>
修改完配置文件以后, 就可以测试一下了!直接按ctrl + F5启动! 如果他直接进入到cas的登录界面,并且地址栏中http://192.168.24.247:8089/cas/login?service=http%3a%2f%2flocalhost%3a1255%2f 包含了一个service=…的东西。那么就表示成功了!输入用户名密码就如果进入到index页表示你的客户端配置成功了!
这样单点登录的客户端的配置到这里就算完成了!