Grails のセキュリティ問題と検索エンジンの最適化
-
22-08-2019 - |
質問
現在の gsp ページに依存してアクションを呼び出す制御ロジックを構築しようとしていますが、現在の gsp ページを識別するために使用できるタグまたはセッション メソッドはありますか
サインアップとログインを除くすべての GSP へのアクセスを制限したいので、ユーザーが他の GSP を開いた場合、サインアップ ページにリダイレクトされ、ログイン ページにも移動できるようになります。
私が実装しようとしているロジックは次のようなものです current_Page がlogin.gspまたはsingup.gspの場合、他には何もせずにサインアップにリダイレクトします // ここでユーザーは問題なくログインページに移動できます
そして、このロジックをメイン レイアウトに追加して、すべてのアプリケーション ドメインにわたって実装したいと考えています。
RequestmapController または UrlMappings を使用してこれを行う別の方法があるかどうか疑問に思っています。
Grails は SpringMVC 上に構築されており、SpringMVC は標準のサーブレット フレームワーク上に構築されているため、springMVC の経験がある人なら誰でも役立ちます。
注記:Acegiプラグインを使用しています
述べる:アプリケーションを SEO に適したものにするにはどうすればよいでしょうか (つまり、Google インデックス作成)にこの種のセキュリティ メカニズムが実装されていますか?
解決
編集:申し訳ありませんが、質問を誤解していました。Requestmaps の代替手段を探しているのだと思いました。そこで私が最初に提案したのは、 アノテーションを使用してコントローラーを保護します。
Requestmap を使用したい場合は、次のようにすることができます。
次のような新しいリクエストマップを作成します。
URL パターン =/login/**
役割 =IS_AUTHENTICATED_ANONYMOUSLY
サイトの残りの部分へのアクセスを制限するには、すべての URL に一致する別の requestmap エントリを作成します。
URL パターン =/*/**
役割 =ROLE_USER
(他の任意の役割を使用できます)
IS_AUTHENTICATED_ANONYMOUSLY
最初のルールはより具体的であるため、2 番目のより一般的なルールを上書きする必要があります。
見ることができます AcegiSecurity プラグイン - URL の保護 詳細については。
サイトのSEOについて。私の知る限り、検索エンジンは認証が必要なサイトにアクセスできません。だからこそ、Experts Exchange のようなサイトでは ずるいトリック Google にインデックスされるようにするためです。
(SO のように) 匿名ユーザーに読み取りアクセスを許可し、書き込みにはログインを要求することもできます。これにより、検索エンジン ボットによってサイトのインデックスが作成されるようになります。
これがお役に立てば幸いです!
他のヒント
あなたは春のセキュリティプラグインが必要です。これを行うための最善の方法は、あなたのGSP内ではなく、すべてのWeb要求にフィルタを使用しました。それはあなたRequestmapsをあげるとUrlMappings GrailsNewbieは述べています。