写代码admin⻆色的用户能访问index.html和admin.html这两个页面,而user用户只能访 问index.html这个页面
时间: 2023-12-14 10:37:23 浏览: 113
ThinkPHP-4-权限管理
这个问题需要在服务器端进行权限控制,以下是一个简单的示例:
```javascript
const http = require('http');
const fs = require('fs');
const url = require('url');
http.createServer(function (req, res) {
const pathName = url.parse(req.url).pathname;
const role = req.headers.role;
// 如果角色为 admin,则允许访问 index.html 和 admin.html
if (role === 'admin') {
if (pathName === '/index.html' || pathName === '/admin.html') {
fs.readFile(__dirname + pathName, function (err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end('404 Not Found');
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
} else {
res.writeHead(403, {'Content-Type': 'text/html'});
return res.end('403 Forbidden');
}
}
// 如果角色为 user,则只允许访问 index.html
if (pathName === '/index.html') {
fs.readFile(__dirname + pathName, function (err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end('404 Not Found');
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
} else {
res.writeHead(403, {'Content-Type': 'text/html'});
return res.end('403 Forbidden');
}
}).listen(8080);
```
在这个示例中,我们通过读取请求头中的角色信息来判断用户角色,并根据角色判断是否允许访问某个页面。如果角色为 admin,则允许访问 index.html 和 admin.html,否则只允许访问 index.html。如果用户访问未授权的页面,则返回 403 Forbidden 错误。
阅读全文