인증 및 권한 부여 Express.js: 사용자 액세스 보안

인증 및 권한 부여는 웹 애플리케이션의 보안을 보장하는 데 중요한 요소입니다. 환경 에서 Express.js 사용자 인증 및 액세스 권한을 효과적으로 구현하여 리소스를 보호할 수 있습니다. 이를 수행하는 방법에 대한 가이드는 다음과 같습니다.

사용자 인증

인증 사용 Middleware: middleware 사용자가 로그인되어 있는지 확인하기 위해 인증을 생성합니다 .

function isAuthenticated(req, res, next) {  
  if(req.isAuthenticated()) {  
    return next();  
  }  
  res.redirect('/login');  
}  
  
app.get('/profile', isAuthenticated,(req, res) => {  
  // Access profile page when logged in  
});  

 

보안 리소스에 대한 액세스 권한 부여

Use Authorization Middleware: middleware 보안 리소스에 대한 사용자의 접근 권한을 확인하기 위해 생성합니다 .

function hasPermission(req, res, next) {  
  if(req.user.role === 'admin') {  
    return next();  
  }  
  res.status(403).send('Access denied');  
}  
  
app.get('/admin', isAuthenticated, hasPermission,(req, res) => {  
  // Access admin page with proper permission  
});  

 

인증 및 권한 부여 라이브러리 사용

사용 Passport.js: 라이브러리를 사용하여 Passport.js 인증 및 권한 부여를 단순화합니다.

const passport = require('passport');  
app.use(passport.initialize());  
  
app.post('/login', passport.authenticate('local', {  
  successRedirect: '/profile',  
  failureRedirect: '/login'  
}));  
  
app.get('/admin', isAuthenticated, hasPermission,(req, res) => {  
  // Access admin page with proper permission  
});  

 

결론

인증 및 권한 부여는 보안 위협으로부터 웹 애플리케이션을 보호하는 데 중요한 역할을 합니다. middleware, 와 같은 라이브러리 Passport.js 및 권한 검사를 활용하여 사용자가 적절하고 안전한 리소스에만 액세스할 수 있도록 할 수 있습니다.