Grails3.0.8でSpring Security Core pluginを設定するとトップディレクトリで権限エラーになってしまう
Grails 3.0.8をインストールして , create-appして, Spring-Security-core plugin 3.0.0.M1の公式tutorialsの手順通り設定しました。
しかし、うまくいきません。
公式手順通りID"me"、パスワード"password"のアドミン権限でログインしても、トップディレクトリが権限エラーで表示できません。
どうすれば、トップディレクトリを権限エラー無しで表示できるのでしょうか?最終的にはアドミン権限をもってないユーザもトップディレクトリを表示できるようにしたいです。
※開発環境のトップディレクトリ = http://localhost:8080
ちなみに、具体的には以下の手順で設定しました。
1. create-app
$ grails create-app testApp profile=web
$ cd testApp
build.gradleに設定追加
dependencies { … compile 'org.grails.plugins:spring-security-core:3.0.0.M1' … }
compileコマンド実行
$ grails
grails> compile
grails> exit
User と Role のdomain classesを作成(interactive mode)
$ grails grails> s2-quickstart common User Role
grails-app/init/BootStrap.groovy にtest User追加
import common.testapp.Role import common.testapp.User import common.testapp.UserRole class BootStrap { def init = { servletContext -> def adminRole = new Role('ROLE_ADMIN').save() def userRole = new Role('ROLE_USER').save() def testUser = new User('me', 'password').save() UserRole.create testUser, adminRole, true } }
サーバ起動(interactive mode).
grails> run-app
ID"me"、パスワード"password"を入力してログイン
権限エラーメッセージが表示されます。
指定されたページへのアクセスは許可されていません。
Note:
application.groovyを記載しますが、一切変更していません.
// Added by the Spring Security Core plugin:
grails.plugin.springsecurity.userLookup.userDomainClassName = 'common.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'common.UserRole'
grails.plugin.springsecurity.authority.className = 'common.Role'
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
'/': ['permitAll'],
'/error': ['permitAll'],
'/index': ['permitAll'],
'/index.gsp': ['permitAll'],
'/shutdown': ['permitAll'],
'/assets/**': ['permitAll'],
'/**/js/**': ['permitAll'],
'/**/css/**': ['permitAll'],
'/**/images/**': ['permitAll'],
'/**/favicon.ico': ['permitAll']
]