본문 바로가기
Lecture/Grails

[Grails Part1-5] Genarate View and Controller

by cusmaker 2014. 12. 17.
반응형

안녕하세요, cocy입니다.

저번시간에는 스프링시큐리티 플러그인을 설치하고 

간단히 권한 추가 및 유저를 추가해 보았습니다.


이번 포스팅에서는 ArticleController의 스캐폴딩으로 생성된 코드를 실제로 생성하고

이를 커스터마이즈 해 보도록 하겠습니다.


우선 도메인만 생성하고 스캐폴딩으로 기능만을 확인했던 

뷰와 컨트롤러를 다음의 명령어로 실제 코드로 생성합니다.

Navigate > Open Grails Command Prompt > generate-all board.Article

만약 컨트롤러만 생성하려면 generate-controller, 뷰만 생성하려면 generate-views 라고 치시면 됩니다.


그런데 이미 컨트롤러를 생성하였기때문에 

콘솔창에 다음과 같은 내용이 뜰텐데요, 코드를 얼마 작성 안했기때문에 그냥 overwrite해줍시다.

File \grails-app\controllers\board\ArticleController.groovy already exists. Overwrite?[y,n,a]  y 


클래스 상단에 다시 권한을 부여 해주시구요,

@Secured(['ROLE_USER'])

지금부터 하려는 작업은 로그인한 유저로부터 username을 받아서 작성자에 셋팅하는 작업입니다.


먼저 ArticleController에 

SpringSecurityService springSecurityService

위와 같이 정적 인스턴스를 생성해주시면 autowired 됩니다.


이를 사용해서 현재 로그인된 유저를 가져올 수 있는데요,


create() 함수를 다음처럼 고쳐줍니다.


    def create() {

User userInstance = springSecurityService.currentUser

        respond new Article([writer:userInstance.username])

    }


이후 컨트롤러를 다시 실행하면 



사진과 같이 접속한 유저의 이름이 작성자란에 입력된 것을 확인 하실 수 있습니다.


수고하셨습니다.


'Lecture > Grails' 카테고리의 다른 글

groovy 정규 표현식  (0) 2015.02.15
Grails 몇가지 팁  (0) 2015.02.11
[Grails Part1-4] Spring Security Plugin Quick Start for Grails  (0) 2014.12.16
[Grails Part1-3] Scaffolding for Basic CRUD  (0) 2014.12.16
[Grails Part1-2] Hello Grails!  (0) 2014.12.01