上一篇博客讲解了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页表示你的客户端配置成功了!
这样单点登录的客户端的配置到这里就算完成了!
原文地址:http://blog.csdn.net/zhanghongjie0302/article/details/43063095