1

私は jasig .net cas クライアントを使用しています。を使用して評価できるローカルコンピューターにcasサーバーをセットアップしましたhttps://localhost:8443/cas-server-webapp-3.4.12/login

アカウントコントローラーのログオンアクションに権限属性を設定しました。

私はこの URL 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(安全なURL)の代わりに(非安全なURL)を使用するhttps://localhost:8443/cas-server-webapp-3.4.12/loginと機能します。

自己署名証明書に問題があると思います。有効な証明書を作成して使用することは可能ですか。少なくとも、有効な証明書を作成してみてください。しかし、有効な証明書を作成する方法がわかりません。有効な証明書の作成方法も教えてください。私はグーグルを試しましたが、ブラウザに「自己署名証明書エラー」が表示されないように有効な証明書を作成する方法を見つけることができませんでした。

4

3 に答える 3

4

私自身の経験では、自己署名証明書を機能させる以外に、次のようにします。

SSOサーバーからWebアプリケーションをホストしているWindows2008Serverに自己署名証明書をインストールする必要があります)。

Trusted Root Cert Authoritiesユーザーアカウントとマシンアカウントの両方に証明書をインストールします。

これを下で実行してMMCから、証明書スナップインを追加できます。

IEを使用してセットアップをテストし、問題のssoサーバーを参照します。証明書に関する警告は表示されなくなります。IEを使用して確認することを忘れないでください。他のブラウザは、信頼されたルート証明書の設定を気にしていないようです。

次に、ASP MVCを展開するときに、従来のアプリケーションプールを使用する必要があります。また、cas configのセットアップではweb.configproxyTicketManagergatewayStatusCookieNameを空の文字列のままにします。

ssoサーバーに直接接続しているので、これら2つが削除されます。そうでない場合は、プロトコルエラーと無限ループが発生します。

そうすれば、これ以上無限のリダイレクトループが文句を言うことはありません。

于 2012-11-15T07:06:58.460 に答える
2

問題が何であるかを見つけました。安全な接続を使用している場合、CAS サーバー側と Web アプリケーション側の両方に SSL 証明書が必要です。

したがって、CASサーバー側ではそうでなければなりません

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

Web アプリケーション側では、

https://servername/mywebapp

自己署名証明書を使用している場合は、CAS を実行しているサーバーが Web アプリケーションの証明書を信頼していることを確認してください。

于 2012-06-02T17:37:55.757 に答える
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"/>
于 2012-05-29T14:36:09.657 に答える