私だけかもしれませんが、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 で保護したいアクションを指定することはできず、アクセス許可でのみ指定できることを望んでいました..しかし、これは可能ですか?