7

簡単な質問: CherryPy を使用して Web サーバーを作成しました。すべてのページで認証が必要なため、デフォルトのハンドラーはログイン ページ オブジェクトを返します。CherryPy がディスパッチを処理する方法により、誰かが次のように要求します。

localhost:80/a/b/c

次の場所にリダイレクトされます。

localhost:80/a/b/login

ただし、認証されていないすべてのリクエストは、HTML リクエストに追加される潜在的な追加パラメーターとは関係なく、ルート レベルから呼び出されるようにしたいと考えています。

localhost:80/a/b/c --> localhost:80/login

現在、HTMLベースのリダイレクトを返すことでこれを解決しています:

'<meta http-equiv="REFRESH" content="0;url=/login">'

これは非常に不潔なソリューションであり、CherryPy ベースのソリューションを使用したいと考えています。cherrypy.HTTPRedirect と cherrypy.url を見ましたが、この問題を解決する方法が見つかりませんでした。

何かご意見は?

ありがとうございました!

4

1 に答える 1

21

リダイレクトを使用してログインページを指定できます。raise cherrypy.HTTPRedirect("/auth/login")

しかし、ここを見てください。認証ルーチンを作成する方法のサンプルがあります。

http://tools.cherrypy.org/wiki/AuthenticationAndAccessRestrictions

ログイン後に要求されたページにユーザーをリダイレクトする方法の例もあります。

于 2012-08-19T23:08:34.260 に答える