Mvc4单点登录之三Cas 客户端配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhanghongjie0302/article/details/43063095

       上一篇博客讲解了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页表示你的客户端配置成功了!


这样单点登录的客户端的配置到这里就算完成了!


展开阅读全文

没有更多推荐了,返回首页