Получить идентификатор пользователя из смс-сессии Siteminder

Наша система представляет собой шлюз, взаимодействующий с Siteminder для аутентификации и подключения к серверным системам. Siteminder возвращает SMSESSION и SMIDENTITY в заголовке. Как получить идентификатор пользователя из SMSESSION. The format is as below: SMSESSION=dQtTYNjolqkVPoblyV2iUYzlaffxweO7jwHdbC8R8HCRzyuR2E6we22hBEdfOquw4Wx4V2Ly6tuTq7DctZXBpiUVOqYr1htSKExdDauUYD0Eh+jmdw9yBSSjkUm/nlDd6iFizN2zeyBAGda7jgHbyvKCB0T54ZrFFEMTd1jdJfiOJS0q6c

Я попытался взять закодированную строку вручную и декодировать ее, но не получил идентификатор пользователя. Как получить идентификатор пользователя из SMSESSION?

Спасибо,


person user1860832    schedule 06.12.2012    source источник
comment
Как вы расшифровали smsession cookie?   -  person satya    schedule 26.04.2018


Ответы (3)


Я считаю, что файл cookie SMSESSION зашифрован агентом, вы не сможете с ним ничего сделать. Вам придется работать с внешней группой поддержки SiteMinder, чтобы попросить их добавить SM_USER или другие заголовки. Это часть конфигурации SiteMinder.

person 0leg    schedule 03.01.2013

Идентификатор пользователя можно найти в заголовке SiteMinder по умолчанию с пометкой «SM_USER».

person anon    schedule 07.12.2012
comment
Спасибо, но ответ не содержит заголовка SM_USER. Это внешняя система, и у нее нет особого контроля над этой системой. - person user1860832; 07.12.2012

Вы можете получить SM_USER из response.getHeaderNames(), используя следующий скрипт в вашем index.jsp:

    <script language="JavaScript" type="text/javascript">

<%
    java.util.Enumeration names = request.getHeaderNames();

    String SM_USER = "";

    while(names.hasMoreElements())
    {
        String name = (String)names.nextElement();
        if(name.contains("SM_USER"))
        {
                 SM_USER = request.getHeader("SM_USER");
        }
    }


%>  

    var SM_USER = '<%= SM_USER %>';     

</script>

Затем вы можете получить доступ к значению SM_USER из window.SM_USER

person Esteban Gatjens    schedule 18.08.2013