报错:No principal was found in the response from the CAS server


在做cas单点登陆时数据库连接配置没问题,用户信息也没问题,客户端也配置好了,单点登陆可以正常登录,就是跳回客户端时在Cas20ServiceTicketValidator这个类的下面的方法里报出错来,
 protected final Assertion parseResponseFromServer(final String response) throws TicketValidationException {
        final String error = XmlUtils.getTextForElement(response, "authenticationFailure");

        if (CommonUtils.isNotBlank(error)) {
            throw new TicketValidationException(error);
        }

        final String principal = XmlUtils.getTextForElement(response, "user");
        final String proxyGrantingTicketIou = XmlUtils.getTextForElement(response, "proxyGrantingTicket");

        final String proxyGrantingTicket;
        if (CommonUtils.isBlank(proxyGrantingTicketIou) || this.proxyGrantingTicketStorage == null) {
            proxyGrantingTicket = null;
        } else {
            proxyGrantingTicket = this.proxyGrantingTicketStorage.retrieve(proxyGrantingTicketIou);
        }

        if (CommonUtils.isEmpty(principal)) {
            throw new TicketValidationException("No principal was found in the response from the CAS server.");
        }
分析后发现是response返回值出问题了,
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>CAS &#8211; Central Authentication Service</title>
    <meta name="_csrf" content=""/>
    <meta name="_csrf_header" content=""/>    
    <link rel="stylesheet" href="/css/cas.css" />
    <link rel="icon" href="/favicon.ico" type="image/x-icon" />
</head>
<body id="cas">
<div id="container">
  <header>
    <a id="logo" href="http://www.apereo.org" title="go to Apereo home page">Apereo</a>
    <h1>Central Authentication Service (CAS)</h1>
  </header>
  <div id="content">
<div id="cookiesDisabled" class="errors" style="display:none;">
    <h2>Browser cookies disabled</h2>
    <p>Your browser does not accept cookies. Single Sign On WILL NOT WORK.</p>
</div>    
    <div id="serviceui" class="serviceinfo">
        <table>
            <tr>
                <td><img src="images/webapp.png"></td>
                <td id="servicedesc">
                    <h1>HTTPS and IMAPS</h1>
                    <p>This service definition authorized all application urls that support HTTPS and IMAPS protocols.</p>
                </td>
            </tr>
        </table>
    </div>
    <p/>
<div class="box" id="login">
    <form id="fm1" action="/login?ticket=ST-16-EGEyRb3BlMZqEWUUxJcL-cas01.example.org&amp;service=http%3A%2F%2Fserver.liu.com%3A8081%2Ftest1%3Bjsessionid%3DB3C42F1109CDA8D004CE79858E53CBA1%3Bjsessionid%3DE55B13F1D64FF29DD96ED05CD7CDB73B" method="post">
        <h2>Enter your Username and Password</h2>
        <section class="row">
            <label for="username"><span class="accesskey">U</span>sername:</label>                                    
                                        <input id="username" name="username" class="required" tabindex="1" accesskey="u" type="text" value="" size="25" autocomplete="off"/>
                
            
        </section>
        <section class="row">
            <label for="password"><span class="accesskey">P</span>assword:</label>             
                        <input id="password" name="password" class="required" tabindex="2" accesskey="p" type="password" value="" size="25" autocomplete="off"/>
            <span id="capslock-on" style="display:none;"><p><img src="images/warning.png" valign="top"> CAPSLOCK key is turned on!</p></span>
        </section>
        <!--
        <section class="row check">
            <p>
                <input id="warn" name="warn" value="true" tabindex="3" accesskey="w" type="checkbox" />
                <label for="warn"><span class="accesskey">W</span>arn me before logging me into other sites.</label>
                <br/>
                <input id="publicWorkstation" name="publicWorkstation" value="false" tabindex="4" type="checkbox" />
                <label for="publicWorkstation">I am at a public workstation.</label>
                <br/>
                <input type="checkbox" name="rememberMe" id="rememberMe" value="true" tabindex="5"  />
                <label for="rememberMe">Remember Me</label>
            </p>
        </section>
        <section class="row btn-row">
           
            <input type="hidden" name="execution" value="289fd1cd-0793-4f99-94f3-5041b51c4eeb_ZXlKaGJHY2lPaUpJVXpVeE1pSjkuTm1GUlduaDJiRFJHYWxFMVlXd3JaRmh1U2poa1owNHpSVmszWkc5SmMySXhTMmRXV1VjNFFYTkRPRWsxUzJnelpIbHlPRWd3YmprclduVldabVpYTTFvMFJFZ3ZaRWs0ZGxWcGQzWmpjVEF6VW1GTGVYaHBSVWwzV1hwTU5WaE5UVTh5TUc0clQxZHZaa2hyZFZONVJHNWFiR1ZwTTNSVUwwRktMMGw0U0VGMFlqSnFNVzlYVlU1cFZtaGtkakZzZVZBNU9XVjVUVVZ1VEhscFRFSkJhVmMwWWt0aWNESndTalJZWkZsblptazJOM1Z1VUhCVFFUWlZOVXBzWkdKS2NEZ3lTMHR0WkhGQ2JFMXNSMUpVTUM4NVNrVlZXSGxSTDFSRWJVZEVjM0ZSSzNCblNUTjBibVJIZDNWc2MxYzRjak5GWW5neFdtZDJjVlo1TW5WUmMxcHhTRlJKWVZGelJtRTJkRWxLY2pneGJVZzJUa0ZGUW14RFIwOHpUekJTV1hkRmVFOVhTVGs1VEdGR05rbG5MM0ZOTW5sTllUQXZiMDFNZVRsVFRtSmlibE13T1ZWT2RVNTJlVlIyZWxWVE9WZDZZMVJsZGtKQloxQmlZWGRTY1c1aU16RndVa05zTlhwcmQzSkZSVFowZGpOaFoydFZRbTFZU2xkemVuVmpibXR0VjFkemFWRlljbk5XUjB0UFNtZHpOMDVwUjFRMlpUaFFLMlJxUkRsdE1rb3lXSEpzWlhRd1IxVm1PV2M0WWxBd1l5dEVOekJrYUc0M1VtVk1UMVJ5ZUdwYWNsUlJjRVZKZDBsWWFtMHJOblZCWkZwQlVqRnBLME55YzNOdmNUQTNMM05yWkhoTU1rNWhXRlIzY25GRmJIUlRiWE5XVWxkNFlYaFVkME52SzBJelYwUlBNMEUzUlRsbWQwVmlha2xqWTFjcmJUaHBVeXRDYzJwM2NWVm1iVGQ2YjJWVmVtdzRiR0ZpZEVkdlExTmlSRWg1WlhsTWNEQldSVEJGTkRCM2JVOVdUMDV5YmlzNVl6Sk1lbXBaWkVGSmRqSllhWGRMYTBOdWMyNDJNR2hLYmpKQldsYzVjM1JJVTAxb1NuVnhiMU5rZGt0SldFRndjMjAwZG1kV2FXTlVWbXAxU2s1cmFVaGpRa2xxVWxjM2RHOHhPVlpyV20xMVVYcHFReTkyYjNKcmJEQlZUVXQzTm5aQk1HWnFaWEpEVUZCaVRGUTVZM1UxUlhaNFRUVlJla2N6UVVSVldYVnNSM1paV25JelZGTjFUekl4ZFVWaldEZEZORXRHZGxNMGRUTkRjamh0WTBobmN6TjVSVGhaTWxkaVkwbzVjMlZoZWxGT2MzRmtSbEJXYW5odlNsbHRhRnB4T1VWTGJFZzBWRWxaWWpGUVZXSnJXV2RKYVRNME1XSmFjV2xZWjA5cGFsWlRjVVJJVFVJcmVGUTRPRzF6V2twcWRFNDNVMUl2UlVKdVFXVnlTRVphT0ZwbFdpc3lSellyY1hGcmREWTVMMlpzTTFkM2FVMVlNMDlYWVVaWGVtaFJjMmQ1WVRkU1NGTnNVblk0VEN0bVZIRlRMMnBaT1ZCUVlsWm5TMko1UkhkeUsxSXhiRmxKVkdOUE1rZHBRVlpOTkdkU1JVbDVkREZNTlRCMU55OUJha2RpVFZwTFZUZDFRWE14Y1RJeVRERXJOMHRvTVZoWFdrazNkek5RVVdnNFREQjBOVk5PVVVSMk1XbHJPVlUzY0V0WldrcHBhbkUwYkZwd1VVOVVTWEF5THpBMFMxVTJlVEpOTm5sa1NXcExPSFpWYUZGSU9VOXBVMk5qZVU1YVFsSXdlVFpPV0V4M1JrNXhkSGx5VVd4SlZrbFNiRzlJY1c1b1FrbEhRblZtUWswMmMyRllRV3BuYWtFMlNWWnpNRXRRZFZwVVEweHphekZVWkRKeWMxZEtMM1JTWnpSdFN6TmFUSGMwYzJwT1lXZHZjbE5GTTJjelJqTkJTRlZxVEZGU2QwTlFXVUpKTlZoamRuVXdTRGRtVnpFNFkybGhkRVZSYmtGc1FscFdUSFpzTVdSM2RUUkZWRkJoVDBWVVRVTnZZWGR3Y2xKWGEyNXZhRGRpUzBrdmNteE1RWEUwTUcxTVJFZHVVbUZrU0Vaa05YZ3dTRzh5YXpCMVlrczRXbXBzVlc0Mk1VNDBZM0Z4TlRsSVVHSjRkbE0yZVhsS1NHOVNhMmhFVjIwclRXOUdSVFJwZEVOV2VWaEVNRzVWTnpkVVZIQjZOa3RUUTJZMmJYTmtSRWh1VERNNU1saEdlR0pZV1hRdk9EQTVka292Vm1GcFZ6Qm5Wa3MwWWt4WGRXaG5TMDlPVUhveFVsaFpXVEl6Wml0c2NubFhiMlpoTkZaRU5GQXlTVE41YTNrek1Tc3piRTlaTTFsbmJrcFhiVEpFTURGa00zcEJUV0pxUkV0dlkyRktRalE0U1VObGVUTk9NMWxVU2t4WlVEWldOREZ0ZDNkbksyeGtlWFZOVFc5aFFXYzVNekpoZGtaRk5GazNOekpYWjNGTGFrNDVWVzV6VVU1VlpYVkxWR2xtYlRkM1dIcFJhVTQyT0U1cE0yNVNUMGhUWWtFclJIQlBTM1ZMWVVORU5rZFBkMGREUjBodE5XbHZaVGxFWkRVNU5ISjJlRkZrTTJkR1YwVmtTRUpwZFV4V1ZuQlRSMWhUV1VKblZVeGxObGxQT0hGblQyZE1ia3N3TWt4RGNtOXlaVGRSTDA1d01IcHNWRlZ0Unl0eWRqaDVTa2xEV0dwU1VEQnJZemRaVjFoUE1FMURXbXBDYkRSV1YwaHJURzFLUkM5dVkwZ3ZaVmhpZEZKVWJtRTJZVE5NVUhvd1YzSnBSa3RMVEU5bGN6QlNlRzVJYlZONFNtcEZlSFJHZDBGT2FIY3lhSHBpTm1ONlZEWmtSaTh2Tm1VMmIwb3hNMlZxTUcxdVp6UkRiR055UkUxVlVUZG5PWGhpVlZKeGRYUXhWSGh5VWxaeGVTdEtOWEEyYUdReVJUVmxSV3hrVTAxMk1XSm1aRk5aYTNveE9YSmlkbEpaSzBSSGVFb3lkMUl2Y1ZGc1lXNUljeXRxV21scVZrUmtTVVpoUlV4V05GRlJaVk5uSzJSMmFEWmpOMmxGU2t0elUxcEtNSEV6UkRsU1UzcGtRbmhrZGxkM2VGcERUMmx2ZVVWWGJ6RmlVbll2ZVcxUFpGaGlkRGs0UjJoVlkyTkZMMmd4WWtaRFZrVjBkMkptVFZvNGJHUkJNWGRuZUZCTWJVUkdVRTVwVVhjMWExRXJWblJsYm00eWFDdHRVSFpTVVZKUGFUSmxUbU1yU0hJM1MxRkpNREp3UzNkNVRtNVJVMGhYTHpCR2FUVXJRVk5tZVdaeE4zQmpZVGR2YlVnMFduSkliRTR3Y1RWU1lsY3haRTlKV1dsR2RsUnJXVU5xVVRScVNWbDVZVE4wWW5kWFpXVTBNMnREU0VsTVowUTJUV0ZSVm1aUVRFVTVaMGRhU2k5UWFYQjNabHBZY1RaT2NWTkpObVF5VkdkVFVuQm9SbGh6TlM5TVUyOTNXRFp3V0dKVk5WbFJNRlJoYnpFemNHdzRWM0YySzFKdVJYSkhZVGs1VWxRNVVpdG5TSFZWVEc5V1NuQlNNMDFLYlc1elIxVnNURmc1Ukd4VloxYzNaVzVZTWs1VlpuRnJPREpHWldOSFNESkhSbXcyV0hGT1dYWmlTM2x1UjB0emNuVnpTbnBRVjJvMFpURkRTamRaV1c5Uk1HOVlZMVpuYUhNMFVIWnNjVkpwT1VsU2NtbGxXazVZVkVwamIxUkdhM1JGTDNwT2EzaEdPVU5KV1hSV04wbFVhMEkzYXpKaUwzSjNXblpUUlZodFpWaFZUR2RPUkM5b2QwMTRLMEkzWm5aRVNqVlZSbTR3TVc1R1dVOUNVbGRIZFVWd2VYUlJkWEpwWVhRelExbDVOMmxrV0ZaNlNHTndNRGhKZEROcFpXNVpjbGt6TjFoamRWaENhMVExTm5KWVNEZDVLM3BHVTNvd1dtSktNV2g1VldkeVNrSjRUMFIxVWsweldVaGtVRzlXYkdsc2NubzFVV3hIV1c1U1pIVTBMMjlsTlU1TlRtcGxRMHRWUjFWTmVVRk1PV01yU2pWMlQzSkJTQzlOTTFKeE9YWjJWamRhVDAxblRFVmFlVFZrVkZCUlEwNTFPRVFyU1ZJM05IUldkRTgyWkM4dmVVOTFla0kxZEdoUmNrdFZVR1p6VDNBdmNpOWFTMjVETm5sVGVFTXhibHBvVW10SGNuZE9OamxXTmt4WFEybE5aa3hTTDJSNEwxQTBRbmwyZDNOVmJHZ3lMMXAwZWxoNWRGRTRjRE5vUzJwV1prNXNTRU5SU2tSR04xcEVLMDk1YWpjd2FrdERPR1o2YXpKa01EbHRXa05vVFc1R016VnVVMWRRY1hFemMyZENZaXM0WkRkeU5HZElUMVJzT1daVFZYbFRkMjFZZUhONlZXRTNNbE4xY2xNMFNXc3lObGsyZW00MlIwOXhlbFZIWldOWGRFMUtNSEpCYWtadFdtbHBVSFp4TDJGcmJEQXpSbWhXU0hWdGJTOVBXV2RpVlUxVk56RkRTRUl6ZHpoT1ozWkNNM2xpYjJWR1dsWXpNM2RPV0UxMFYzTnBkSGRSUFQwLmFuWDRkZjZvTDhfRDBGd2I3dEZheDdUSDdSU0M4ejZPVHZ5TF9KT2huaDRxSzZ4T3h2ZW5EYkM2MGJCdmQzQ0ZQSFViNG5VMTZTT3NvZV9EU1JBUlZR" />
            <input type="hidden" name="_eventId" value="submit" />
            <input class="btn-submit" name="submit" accesskey="l" value="LOGIN" tabindex="6" type="submit" />
            <input class="btn-reset" name="reset" accesskey="c" value="CLEAR" tabindex="7" type="reset" />
        </section>
    </form>
</div>
<div id="sidebar">
    <div class="sidebar-content">
        <p>For security reasons, please <a href="logout">log out</a> and exit your web browser when you are done accessing services that require authentication!</p>

        <div id="list-languages">            
            <h3>Languages:</h3>
                    <ul>
                        <li class="first"><a href="login?ticket=ST-16-EGEyRb3BlMZqEWUUxJcL-cas01.example.org&amp;service=http%3A%2F%2Fserver.liu.com%3A8081%2Ftest1%3Bjsessionid%3DB3C42F1109CDA8D004CE79858E53CBA1%3Bjsessionid%3DE55B13F1D64FF29DD96ED05CD7CDB73B&locale=en">English</a></li>
                        <li><a href="login?ticket=ST-16-EGEyRb3BlMZqEWUUxJcL-cas01.example.org&amp;service=http%3A%2F%2Fserver.liu.com%3A8081%2Ftest1%3Bjsessionid%3DB3C42F1109CDA8D004CE79858E53CBA1%3Bjsessionid%3DE55B13F1D64FF29DD96ED05CD7CDB73B&locale=es">Spanish</a></li>
                        <li><a href="login?ticket=ST-16-EGEyRb3BlMZqEWUUxJcL-cas01.example.org&amp;service=http%3A%2F%2Fserver.liu.com%3A8081%2Ftest1%3Bjsessionid%3DB3C42F1109CDA8D004CE79858E53CBA1%3Bjsessionid%3DE55B13F1D64FF29DD96ED05CD7CDB73B&locale=fr">French</a></li>
                        <li><a href="login?ticket=ST-16-EGEyRb3BlMZqEWUUxJcL-cas01.example.org&amp;service=http%3A%2F%2Fserver.liu.com%3A8081%2Ftest1%3Bjsessionid%3DB3C42F1109CDA8D004C...

responses内根本就没有user用户返回值,这时可能是你的服务器端的查询用户信息有问题,但是更大的问题可能是你的客户端的关于cas的服务器地址配置错了,
如果你的服务器端发布时访问路径不需要加/cas---就是这种路径https://server.liu.com:8443/login,那么你的客户端也不可以加/cas
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
这个错误是因为您正在尝试删除拥有模式(schema)的数据库主体(database principal)。在 SQL Server 中,模式是一种逻辑容器,可以用来组织和管理数据库对象,如表、视图、存储过程等。每个数据库主体都可以拥有一个或多个模式。如果您尝试删除一个拥有模式的数据库主体,将会收到如上所述的错误消息。 要解决这个问题,您需要按照以下步骤操作: 1. 首先,使用以下语句查找拥有模式的数据库主体的名称和模式的名称: ``` USE [database_name]; SELECT s.name AS schema_name, dp.name AS principal_name FROM sys.schemas s INNER JOIN sys.database_principals dp ON dp.principal_id = s.principal_id WHERE dp.name = 'principal_name'; ``` 请将 "database_name" 替换为您的数据库名称,将 "principal_name" 替换为您要删除的数据库主体名称。 2. 然后,将该数据库主体从其模式中移除。例如,以下语句将名为 "principal_name" 的数据库主体从名为 "schema_name" 的模式中移除: ``` USE [database_name]; ALTER AUTHORIZATION ON SCHEMA::[schema_name] TO dbo; ``` 请将 "database_name" 替换为您的数据库名称,将 "schema_name" 替换为上一步中找到的模式名称。 3. 最后,您可以使用 DROP USER 或 DROP LOGIN 语句删除该数据库主体。例如,以下语句将名为 "principal_name" 的数据库主体删除: ``` USE [database_name]; DROP USER [principal_name]; ``` 请将 "database_name" 替换为您的数据库名称,将 "principal_name" 替换为要删除的数据库主体名称。 请注意,在执行任何删除操作之前,请务必备份您的数据库以防止数据丢失。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值