Windows kullanıcı kimliğini NodeJS
uygulamasında doğrulamak istiyorum. Bunun için herhangi bir eklenti var mı? node-krb5
var, ancak henüz pencereleri desteklemiyor.Nodejs veya ExpressJS Windows Kimlik Doğrulaması
cevap
Bunun için bir blog yazısı ekledim http://hadenoughpi.wordpress.com/2013/04/16/node-js-windows-authentication-using-edgejs/ Umarım bu doğru yollardan biridir.
Iisnode https://github.com/auth0/passport-windowsauth ile IIS üzerinde barındırıyorsanız güzel çalışır! Pasaport-windowsauth bir reklam entegrasyonu ile geliyor ancak amacıyla yalnızca kendi authorzation mantığı uygulamak adını isterseniz bu
web.config gibi yapabilirsiniz:
<system.webServer>
<iisnode promoteServerVars="LOGON_USER" />
</system.webServer>
server.js:
var passport = require('passport');
var WindowsStrategy = require('passport-windowsauth');
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(user, done) {
done(null, user);
});
passport.use(new WindowsStrategy({
integrated: true
}, function(profile,done) {
var user = {
id: profile.id,
};
done(null, user);
}));
app.all("*", passport.authenticate("WindowsAuthentication"), function (request,response,next){
next();
});
o zaman diğer yolları istek nesne üzerinde kimliği erişebilir:
app.get("/api/testAuthentication", function(request, response){
console.log(request.user.id + " is authenticated");
});
function hasRole(role) {
return function(request,response,next){
//your own authorzation logic
if(role == "a role")
next();
else
response.status(403).send();
}
}
Ancak, IIS'nin arkasında düğümü belirlediğimizde, birçok Node avantajı kaybederiz! – DaNeSh
Tarayıcıdaki URL'den '(request.user.id)' yanıtını alabiliyorum. ancak aynı URL’ye erişmeye çalıştığımda hata alıyorum Yetkisiz hata. Bu yazının eski olduğunu biliyorum ama mümkünse, bu tür bir şeyi kullandığınız herhangi bir örneği paylaşabilir misiniz? –
node-sspi
: hasRole şöyle
app.get("/api/testAuthorization", hasRole("a role"), function(request, response, next){
console.log(request.user.id " is authenticated and authorized");
});
: Eğer kullanıcı kimliği kullanarak kendi yetkilendirme mantığı uygulamak istiyorsanızBöyle bir katman işlevi tanımlayabilirsiniz kolay ve verimli buldum kullanmak.
- 1. .NET'te Windows Kimlik Doğrulaması
- 2. nodejs ile Google kimlik doğrulaması
- 3. Windows kimlik doğrulaması çalışmıyor
- 4. Nodejs + expressjs, Buffer
- 5. Nodejs ve expressjs
- 6. Özel Windows GINA kimlik doğrulaması
- 7. ldap nodejs etkin dizin kimlik doğrulaması
- 8. Açısal 2 evrensel kimlik doğrulaması, nodejs
- 9. NodeJS ve ExpressJS Router.use() hata
- 10. Java masaüstü uygulamasına Windows kimlik doğrulaması yayımı
- 11. etki alanındaki tümleşik windows kimlik doğrulaması
- 12. Windows Kimlik Doğrulaması ile Oturum Yönetimi
- 13. Analysis Services Sadece Windows Kimlik Doğrulaması
- 14. WCF Windows kimlik doğrulaması, kimlik bilgilerini açıkça ayarlamadan nasıl çalışır
- 15. Multipart/form veri yüklemesi - Nodejs - expressjs
- 16. node.js API kimlik doğrulaması
- 17. nodejs pasaport kimlik doğrulaması ile ekspres uygulaması https kullanılmalıdır
- 18. localhost \ SQLEXPRESS Windows kimlik doğrulaması veya SQL kimlik doğrulaması ile erişmek için kullanmam gereken sql bağlantı dizesi nedir?
- 19. Kaydet, ExpressJS
- 20. Windows kimlik doğrulaması kullanarak orta katmandaki bir kullanıcının nasıl kimlik doğrulaması yapılır
- 21. Windows Kimlik Simgesini Doğrulayın
- 22. IOS https kimlik doğrulaması
- 23. ASP.net kimlik doğrulaması
- 24. SQL sunucu docker kabı ile windows kimlik doğrulaması nasıl kullanılır?
- 25. Jersey Client API - kimlik doğrulaması
- 26. ASP.NET Karışık Formlar/Windows Kimlik
- 27. Tastypie APIKey kimlik doğrulaması
- 28. temel kimlik doğrulaması
- 29. Devise'de özet kimlik doğrulaması
- 30. URL parametrelerinde kimlik doğrulaması
Bu tek işaretidir pencereler auth amacı yendi. Çözümünüz kullanıcı adı, alan adı ve şifreyi gerektiriyor. –