Aqui está a explicação e a solução alternativa da Microsoft no ASP.Net MVC com o Siteminder.
Uma solicitação pode ser executada por qualquer manipulador ONE, mas pode ser trabalhada por vários módulos. Quando uma solicitação chega, o URLRoutingModule roteia as solicitações para o manipulador do MVC (se existir um mapa para ele na tabela de roteamento, conforme definido no evento Application_Start do Global.asax), e o manipulador do SiteMinder nunca é chamado. Como apenas um manipulador pode executar a solicitação e, nesse caso, deve ser a página de login do SiteMinder do manipulador MVC que nunca aparece. Um manipulador que executa uma solicitação é um comportamento por design.
Solução alternativa sugerida:
i) No método AuthenticateRequest em Global.asax, verifique se o cookie de sessão SSO está presente na solicitação.
ii) Se o cookie não estiver lá, redirecione para outra página de login do SSO.
iii) A página de login responsável pela autenticação não deve estar na tabela de roteamento MVC.
iv) Se uma solicitação de uma página que não está na tabela de roteamento MVC for recebida, o SiteMinder entrará em ação, pois o URLMappingsModule não roteará isso para o manipulador MVC conforme o esperado.
v) Nesta página, após a autenticação, o usuário pode ser redirecionado para o URL principal solicitado anteriormente. Como neste momento temos o cookie de sessão SSO, então o pedido não será redirecionado no AuthenticateRequest e será respondido pelo MVC.
Estamos seguindo esse trabalho. Isso deve ser implementado com cuidado, pois há uma chance de que o cookie do Siteminder possa ser invalidado, mas não verificado pelo siteminder, pois o pedido não passará pelo siteminder para solicitações do MVC.