ubuntu os와 ruby on rails를 이용하여 개발하는 웹사이트에서, 유저 관리를 어떻게 하는것이 좋을까요?

조회수 504회

웹사이트의 출시를 앞두고 있고, 지금은 유저와 게시물을 관리할 수 있는 기능을 브라우저에 바로 표시되는 웹페이지 형태로 띄어서 관리하고 있습니다. 하지만 이후에는 이런 식으로 관리를 하는 방식에 한계가 찾아올것 같은데요, ubuntu os와 ruby on rails를 이용하여 개발한 웹사이트에서 유저 관리를 비롯한 데이터베이스 매니지먼트를 어떻게 하는것이 좋은지에 대해 조언해주시면 감사하겠습니다. db 타입은 postgreSQL 입니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • DB 타입이 뭔가요? mysql인가요? mongodb인가요? 엽토군 2019.6.7 12:58
  • 제가 정작 중요한걸 안 적어 놓았네요;;; postgreSQL 입니다. 알 수 없는 사용자 2019.6.7 13:03
  • aws 를 사용할 수 있다면...cognito 를 적극 고려해보겠습니다. 정영훈 2019.6.7 19:45
  • aws cognito에 대해서도 알아보도록 하겠습니다, 의견 주셔서 감사합니다~! 알 수 없는 사용자 2019.6.9 12:51

1 답변

  • 1. PostgreSQL 데이터베이스를 관리할 툴이 필요하신 거라면 여기서 하나 골라 가세요.

    2. 사용자 관리라는 차원에 좀더 비중이 있는 거라면 일단 사용자가 무엇이고 사용자 관리란 무엇을 해야 하는 작업인지 규명하신 다음, 그 규정을 구현하는 사용자 관리 인터페이스를 구현하셔야겠죠. 관리자급 사용자만 접근할 수 있도록 조치를 해서요.
    만약 그런 인터페이스를 지금 만드신 RoR 웹앱의 일부로 제공하시려는 거라면, 인증(authentication)과 접근허가(authorization)의 개념을 이해하신 다음 적당한 gems들을 찾아서 질문자님의 웹앱에 적용하시면 됩니다.

    대략의 시나리오:

    1. 사이트 한쪽 구석에 'user admin'이라는 링크가 있다.
    2. 이걸 누르면 일단 로그인을 했는지 체크한다. 안 했으면 로그인을 시킨다.
    3. 로그인을 했다면 그 유저의 'roles' 필드에 'admin'이 명시돼 있는지 확인한다. 없다면 뒤로 돌려보낸다.
    4. admin이 명시돼 있었다면 지금 로그인한 사람은 유저이고 또한 어드민이기 때문에 어드민 관리 툴을 볼 수 있다. 안심하고 각종 사용자관리 버튼들을 보여주고 그 버튼에 의한 동작을 모두 의심 없이 수행해 준다.
    5. 예를 들어, 이 버튼들 중 "나 빼고 모든 사용자 삭제"라는 버튼이 있어서, 그걸 누르면, 서버는 다음 쿼리를 의심 없이 실행해준다.
      delete from users where id != (지금 로그인한 사용자 id)

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)