채용 공고 웹사이트: 게시물 페이지로 이동




GitHub: https://github.com/Sokhavuth/opine-job
데노 배치: https://khmerweb-job.deno.dev/users/post

미리 정의된 "/users"기본 경로의 하위 경로로 대시보드의 게시물 페이지에 대한 경로를 만들 수 있습니다. 이렇게 하면 이 하위 경로를 "/users"경로에 "/users/post"로 마운트할 수 있습니다. MVC 패턴에 따라 이 "/users/post"경로를 컨트롤러, 보기 및 모델 폴더의 메서드와 연결하여 대시보드에 게시물 페이지를 표시하도록 설계할 수 있습니다.

또한 “/users/post” 경로는 금지된 페이지로 연결되어 등록된 사용자만 해당 영역에 접근할 수 있으므로 해당 사용자가 대시보드에 진입을 시도하는지 여부를 애플리케이션 세션을 통해 확인해야 합니다. 인증 여부입니다. 인증을 받으면 사용자 데이터를 Redis 데이터베이스에 등록할 수 있습니다.


// routes/users.ts

import { Router } from "../deps.ts";
const router = Router();


import login from "./users/login.js";
router.use("/", login);

import post from "./users/post.js";
router.use("/post", post);


export default router;



// routes/users/post.js

import { Router } from "../../deps.ts";
const router = new Router();

import post from "../../controllers/users/post.js"

router.get("/", async (req, res) => {
    if(await req.mysession.get("user")){
        post.getPage(req, res);
    }else{ 
        res.redirect("/users");
    }
});


export default router;



// controllers/users/post.js


class Post{
    async getPage(req, res){
        const config = req.mysetting();
        config.page_title = "Post Page";
        config.route = "/users/post";

        const html = "Post page";
        res.send(html);
    }
}


export default new Post();

좋은 웹페이지 즐겨찾기