2012. 1. 18. 08:49
IT
블로깅 때문에 검색하다가 우연히 발견.
http://grailsboston.com
무려 h2 database로 운영한다 ㅎㅎ
플러그인 목록을 보면서 이것저것 생각하게 되는데 ( http://grailsboston.com/twittersearcher/plugin/list )
(정말 작은 커뮤니티를 가지고 많이도 만들었네... )
plugins {
...runtime ":spring-security-core:1.2.7"
...}
>grails compile
>grails s2-quickstart org.example.demo User Role
grails.plugins.springsecurity.userLookup.userDomainClassName = 'org.example.demo.User'
grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'org.example.demo.UserRole'
grails.plugins.springsecurity.authority.className = 'org.example.demo.Role'
grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/home'
>grails create-controller home
>grails create-controller public
class PublicController{
def index() { render 'public' }
}
import grails.plugins.springsecurity.Secured@Secured(['ROLE_USER'])class HomeController {def index() { render 'home' }
@Secured(['ROLE_ADMIN'])def adminOnly() { render 'admin' }}
import org.example.demo.* // import 문 추가...
def init = { servletContext -> // init 안에 추가// admin Role과 userRole 을 생성def adminRole = Role.findByAuthority('ROLE_ADMIN') ?: new Role(authority: 'ROLE_ADMIN').save(failOnError: true)def userRole = Role.findByAuthority('ROLE_USER') ?: new Role(authority: 'ROLE_USER').save(failOnError: true)
// user role을 가진 bobby와 admini role을 가진 adminuser를 생성def user1 = User.findByUsername('bobby') ?: new User(username: 'bobby', enabled:true, password: 'pass').save(failOnError: true)if(!user1.authorities.contains(userRole)){UserRole.create user1, userRole, true}def user2 = User.findByUsername('admin') ?: new User(username: 'adminuser', enabled:true, password: 'pass').save(failOnError: true)if(!user2.authorities.contains(userRole)){ UserRole.create user2, userRole, true }
if(!user2.authorities.contains(adminRole)){ UserRole.create user2, adminRole, true }
>grails run-app
| Server running. Browse to http://localhost:8080/demo
String nick; // 사용자 정보에 nick 필드 추가