文档介绍:现在我们需要为系统设计一个登录页面,使得访问任何需要登录的页面时都会呈现以下页面: 只有当用户登录成功后,才会跳转到先前要访问的页面。 8、新建域类 LoginUser : LoginUser 用于保存登录用户的相关信息,比如帐号和密码。 class LoginUser { // 域:登陆用户 static constraints ={ userId(length: 6 .. 8 ,unique: true ) // 帐号 6-8 位 password(length: 6 .. 8) // 密码 6-8 位 name(nullable: false ) // 姓名不可为空 level(range: 1 .. 10 ) // 用户级别分 10 级,够了吧? } String userId // 用户名 String password // 密码 String name // 用户姓名 int level // 用户权限级别}9、为系统配置一个默认的系统管理员: 打开 grails-app/conf/ , 编辑 init 闭包( 我们可以利用 init 闭包在系统一启动时做一些初始化的工作): def init ={ servletContext -> final String BACK_ADMIN= 'admin' if (!(BACK_ADMIN)){ new LoginUser(userId:BACK_ADMIN,password: 'admin88' ,name: '\u7BA1\u7406\u54 58' ,level: 10 ).save() }} 这样,只要系统一启动,就会自动添加 admin 用户,这样无论系统中有没有录入一个用户,我们都有一个 admin 的管理员帐号可用。 10、新建登陆页面: 编辑 grails-app/views/loginUser/: < g:form action = "login" method = "post" > ……< input type = "text" id = "userId" name = "userId" value =" ${loginUserInstance?.userId} " maxlength = "8" /> // 用户名输入框……< input type = "password" id = "password" name = "password" maxlength = "8" /> // 密码输入框……< input class = "button" type = "submit" value =" 登录" /> // 若使用<g:submitButton> 标签可能无法正常提交, 原因不知……</ g:form > 11、在 loginuser 控制器中定义登录/ 注销 action 打开 grails-app/controllers/: def login={ //action: 登录 if (== 'GET' ){ // 清除 session // 若请求方式为 get, 呈现