Grails Spring Security Core 项目教程
1. 项目的目录结构及介绍
Grails Spring Security Core 项目的目录结构遵循标准的 Grails 应用程序布局。以下是主要目录和文件的介绍:
grails-app/
:应用程序的主要代码目录。controllers/
:包含应用程序的控制器。services/
:包含应用程序的服务。domain/
:包含应用程序的领域模型。conf/
:包含应用程序的配置文件。init/
:包含应用程序的初始化代码。views/
:包含应用程序的视图模板。
src/
:包含应用程序的源代码。groovy/
:包含 Groovy 源代码。java/
:包含 Java 源代码。
test/
:包含应用程序的测试代码。integration/
:包含集成测试代码。unit/
:包含单元测试代码。
build.gradle
:Gradle 构建文件。gradle.properties
:Gradle 属性文件。settings.gradle
:Gradle 设置文件。
2. 项目的启动文件介绍
Grails 应用程序的启动文件是 Application.groovy
,通常位于 grails-app/init/
目录下。这个文件负责初始化 Grails 应用程序并启动嵌入式的 servlet 容器。
package com.example
import grails.boot.GrailsApp
import grails.core.GrailsApplication
class Application {
static void main(String[] args) {
GrailsApp.run(Application, args)
}
}
3. 项目的配置文件介绍
Grails Spring Security Core 项目的配置文件主要位于 grails-app/conf/
目录下。以下是一些关键的配置文件:
application.yml
:包含应用程序的常规配置,如数据库连接、服务器端口等。
grails:
profile: web
codegen:
defaultPackage: com.example
server:
port: 8080
dataSource:
pooled: true
jmxExport: true
driverClassName: org.h2.Driver
username: sa
password: ''
hibernate:
cache:
queries: false
use_second_level_cache: true
use_query_cache: false
region:
factory_class: org.hibernate.cache.ehcache.EhCacheRegionFactory
application.groovy
:包含应用程序的 Groovy 配置,如 Spring Security 配置。
grails.plugin.springsecurity.userLookup.userDomainClassName = 'com.example.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.example.UserRole'
grails.plugin.springsecurity.authority.className = 'com.example.Role'
grails.plugin.springsecurity.securityConfigType = 'Annotation'
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
[pattern: '/', access: ['permitAll']],
[pattern: '/error', access: ['permitAll']],
[pattern: '/index', access: ['permitAll']],
[pattern: '/index.gsp', access: ['permitAll']],
[pattern: '/shutdown', access: ['permitAll']],
[pattern: '/assets/**', access: ['permitAll']],
[pattern: '/**/js/**', access: ['permitAll']],
[pattern: '/**/css/**', access: ['permitAll']],
[pattern: '/**/images/**', access: ['permitAll']],
[pattern: '/**/favicon.ico', access: ['permitAll']]
]
通过这些配置文件,可以对 Grails Spring Security Core 项目进行详细的配置和管理。