首页 文章

Jmeter中的Cas Ticket问题

提问于
浏览
2

我有一个Web应用程序,它使用CAS Ticket进行用户身份验证,每次登录都不同 . 我在JMeter中录制了脚本 . 我还通过填写正则表达式提取器来关联页面,如下所示:

enter image description here

录制的脚本有url: https://foo.com/j_spring_cas_security_check?ticket=ST-3101-QDTyjbbHoOHvgPMdRBIg-cas .

应用了以上所有内容后,我运行了脚本但状态失败,显示 https://foo.com/j_spring_cas_security_check?ticket=Ticket_Not_Found .

如果有人能告诉我我的脚本中有什么错过,那将会非常有用吗?

2 回答

  • 0

    有两种方法,

    如果您有多个用户名和密码,并且可以使用Jmeter,则可以使用这些来生成CAS ST(服务票证) .

    另:默认CAS创建票证时,可以只使用一次 .

    您必须更改cas服务器的ticketExpirationPolicies.xml中的值以多次使用相同的票证 .

    默认位置是:WEB_INF / spring-configuration / ticketExpirationPolicies.xml

    如果您希望50个用户使用相同的故障单,请将此更改为

    <!-- This argument is the time a ticket can exist before its considered expired.  -->
        <constructor-arg
            index="1"
            value="100000" />
    </bean>
    
    <bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
        <!-- This argument is the time a ticket can exist before its considered expired.  -->
        <constructor-arg
            index="0"
            value="7200000" />
    </bean>
    

    答案由:VIVEK ADHIKARI

  • 1

    从url的参数列表中获取票证值时似乎发生了错误 . 也许您可以在页面上添加隐藏字段并从此参数设置其值 .

    <input type="hidden" id="ticket_key" value="ST-3101-QDTyjbbHoOHvgPMdRBIg-cas" />

    然后你可以通过Regular Extractor获得它

    ticket_key=(.+)

    希望能帮助到你 .

相关问题