私だけかもしれませんが、Shiro プラグインを使用して Grails アプリケーションの一部のページだけを保護する方法を理解するのに苦労しています。
これをセキュリティ フィルターで使用します。
クラスSecurityFilters { デフフィルター = { all(uri: "/**") { 前= { // ダイレクト ビュー (デフォルトのメイン インデックス ページなど) を無視します。 if (!controllerName) return true // 規約によるアクセス制御。 アクセス制御 (auth:false) } } } }
ブートストラップでユーザーを作成しました:
def adminRole = 新しい役割 (名前: "管理者") adminRole.addToPermissions("secured1") adminRole.addToPermissions("secured2:作成、保存、編集、更新") adminRole.save() def user = new User(username: "admin", passwordHash: new Sha512Hash("***").toHex()) user.addToRoles Role.findByName('管理者') user.save()
そしてそれは動作します。問題は、すべてのコントローラー/アクションも保護することです。
SecurityFilter で保護したいアクションを指定することはできず、アクセス許可でのみ指定できることを望んでいました..しかし、これは可能ですか?