2

アクションを呼び出すために現在の gsp ページに依存する制御ロジックを構築しようとしています。現在の gsp ページを識別するために使用できるタグまたはセッション メソッドはありますか

サインアップとログインを除くすべての GSP へのアクセスを制限したいので、ユーザーが他の GSP を開くと、サインアップ ページにリダイレクトされ、ログイン ページにも移動できるようになります。

私が実装しようとしているロジックは、 current_Page が login.gsp または singup.gsp である場合、他に何もしないでサインアップにリダイレクトする場合、//ユーザーが問題なくログイン ページに移動できる場合、次のようになります。

そして、このロジックをメイン レイアウトに追加して、すべてのアプリケーション ドメインに実装されるようにしたいと考えています。

RequestmapController または UrlMappings を使用してこれを行う別の方法があるかどうか疑問に思っていますか?

Grails は SpringMVC の上に構築されており、SpringMVC は標準のサーブレット フレームワークの上に構築されているため、springMVC の経験がある人なら誰でも助けることができます。

注: Acegi プラグインを使用しています

注意: このタイプのセキュリティ メカニズムを実装して、アプリケーションを SEO フレンドリー (つまり、Google インデックス) にするにはどうすればよいでしょうか?

4

3 に答える 3

3

編集:申し訳ありませんが、私はあなたの質問を誤解しました。リクエストマップに代わるものを探していると思いました。そのため、私は当初、コントローラーを注釈で保護することを提案しました。

Requestmapsを使用する場合は、次のようにすることができます。

  1. 次のような新しいリクエストマップを作成します。URLpattern
    = /login/**
    Role =IS_AUTHENTICATED_ANONYMOUSLY

  2. サイトの残りの部分へのアクセスを制限するには、すべてのURLに一致する別のリクエストマップエントリを作成し
    ます。URLパターン=/*/**
    ロール= ROLE_USER(他の任意のロールを使用できます)

IS_AUTHENTICATED_ANONYMOUSLYこれは、一致したURLに誰でもアクセスできることを意味します。最初のルールはより具体的であるため、2番目のより一般的なルールを上書きする必要があります。

詳細については、AcegiSecurityプラグイン-URLの保護を参照してください。

サイトのSEOについて。AFAIK検索エンジンは、認証が必要なサイトにアクセスできません。そのため、Experts Exchangeのようなサイトでは、巧妙なトリックを使用してGoogleによるインデックスを作成しています。

書き込みにログインを要求しながら、匿名ユーザーに読み取りアクセスを許可することを選択できます(SOのように)。これにより、検索エンジンボットによってサイトのインデックスを作成できるようになります。

これがお役に立てば幸いです。

于 2009-05-19T08:02:39.960 に答える
3

あなたはこれを読むべきです:リンクテキスト

ACEGI プラグインを使用したチュートリアル:リンク テキスト

後者は私が行く方法です。役割を設定し、役割ごとに「ページ」と URL を保護することができます。また、ユーザーを作成してロールに割り当てる方法も含まれています。

ACEGI grails プラグインをインストールするには、次のようにします。grails install-plugin acegi

于 2009-05-19T06:52:07.053 に答える
1

Spring セキュリティ プラグインが必要です。これを行う最善の方法は、GSP 内ではなく、すべての Web 要求に対してフィルターを使用することです。これにより、前述の Requestmaps と UrlMappings GrailsNewbie が得られます。

于 2009-05-19T01:59:05.263 に答える