2012-05-29 85 views
1

我一直在使用jasig .net cas客戶端。我已經在本地計算機上設置了cas服務器,可以使用https://localhost:8443/cas-server-webapp-3.4.12/loginjasig asp.net mvc cas客戶端頁面沒有正確重定向

我已經在帳戶控制器登錄操作上設置了授權屬性。

https://wiki.jasig.org/pages/viewpage.action?pageId=32210981

當我運行的應用程序,它確實去到CAS登錄頁面,我下面這個網址給出的一切,但在身份驗證之後它http://localhost:1672/返回,然後在瀏覽器,它提供了錯誤的「頁面」不是個正確地重定向「。

我不知道我是如何得到這個錯誤,一切都在web.config中正確設置。

請幫

當我使用http://localhost:8080/cas-server-webapp-3.4.12/login(非安全網址),而不是https://localhost:8443/cas-server-webapp-3.4.12/login(安全的網址),它的工作原理。

我想我有自簽名證書的問題。是否有可能創建有效的證書並使用它。至少我應該嘗試創建一個有效的證書並嘗試。但我不知道如何創建有效的證書。請同時告訴我如何創建有效的證書。我試過谷歌,但沒有成功找到如何創建有效證書,以便瀏覽器不顯示「自簽名證書錯誤」。

回答

2

我發現問題出在哪裏。當我們使用安全連接時,我們需要在CAS服務器端和我們的Web應用端都有SSL證書。

因此在CAS服務器端它必須是

https://localhost:8443/cas-server-webapp-3.4.12/login

,並在我們的web應用程序方面,它必須是

https://servername/mywebapp 

如果您使用的是自簽名證書可以肯定的運行CAS的服務器信任Web應用程序的證書。

1

應指定在web.config登錄成功(只是服務器不完整的URL) 例如後返回URL:你的應用程序是http://localhost:8080/someWebApp/

當你去到登錄頁面,你可以看到查詢字符串參數返回的url編碼

<casClientConfig casServerLoginUrl="https://localhost:8443/cas-server-webapp-3.4.12/login" 
        casServerUrlPrefix="https://localhost:8443/cas-server-webapp-3.4.12/" 
        serverName="http://localhost:8080" 
        notAuthorizedUrl="~/notAuthorized.html" 
        cookiesRequiredUrl="~/CookiesRequired.html" 
        redirectAfterValidation="true" 
        renew="false" 
        singleSignOut="true" 
        ticketValidatorName="Cas20" 
        serviceTicketManager="CacheServiceTicketManager"/> 
+0

非常感謝回答,我使用http:// localhost:8080,因爲我使用visual studio。如果我已經在IIS中部署了它,我將使用您建議的url http:// localhost:8080/someWebApp/ – nccsbim071

+0

好吧,那麼只需要serverName =「localhost :(開發服務器的端口號)/」 –

+0

謝謝Zach ,我正在這樣做,但它不起作用。 – nccsbim071

3

對於我自己的經驗,比獲得自簽名的證書,以工作的其他:

我不得不從SSO服務器的自簽名的證書安裝到我的Windows 2008服務器託管web應用程序)。

安裝在Trusted Root Cert Authorities下的證書都在用戶帳戶和機器帳戶上。

您可以在MMC下執行此操作,然後添加證書管理單元。

使用IE瀏覽器來測試您的設置,以瀏覽有問題的sso服務器。您不應再看到有關該證書的警告。請記住使用IE來檢查,其他瀏覽器似乎不關心受信任的根證書設置。

接下來,部署了ASP MVC的時候,我不得不使用經典的應用程序池和 我中科院的配置設置在web.config留下兩個proxyTicketManagergatewayStatusCookieName爲空字符串。

我直接連接到sso服務器,所以這兩個被取出,否則協議錯誤和無限循環。

然後沒有更多的無限重定向循環抱怨。

相關問題