안녕하세요, 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 |