检查可以在我的服务器中查看我的文件的用户

Check user that can view my files in my server

我想保护我的文件,没有人可以快速查看我的文件,我想检查谁登录了我的网站,然后验证他是否有权查看该文件,我该如何实现这是我用来访问我的文件的代码 url :

app.use("/profile", express.static(__dirname + '/profile'));

我只想要登录的用户,他是唯一可以查看他的个人资料图片的人,如果他不是用户,那么比如说你不能查看这个文件。

我正在使用 mongodb 作为后端,但我不知道它是 mongodb 身份验证还是快速中间件安全?

我发现了如何解决这个问题:

const checkImg = async (req, res, next) => {
const token = req.cookies.jwt;
if (token) {
    jwt.verify(
        token,
        process.env.JWTKEY,
        async (err, decodedToken) => {
            if (err) {
                res.json({ status: false });
            } else {
                const user = await UserModal.findById(decodedToken.id);
                const imgUrl = req.originalUrl.split('/')[2];
                const imgUser = user.profileImg;
                if (imgUrl === imgUser || user.admin === "ADMIN") {
                    next();
                }
                else {
                    return res.send("Your are not allowed to view this file")
                }
            }
        }
    );
}else{
return res.send("you are not allowed !")
}

}

这是我使用中间件的时候:

app.use("/images", checkImg , express.static(__dirname + '/images'));

这段代码检查用户是否是同一个用户然后他只能看到数据并且admin用户可以显示数据,否则告诉他不允许他获取数据