package com.github.mongorest.security;
import org.springframework.beans.factory.annotation.Required;
import com.github.mongorest.util.Utils.EncodingUtils;
import com.github.mongorest.util.Utils.StringUtils;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
public class MongoBase64CryptDe implements CryptDe {
private Mongo mongo;
@Override
public boolean validate(String user, String password) {
boolean isValid = false;
if (!StringUtils.isNullOrEmpty(user) && !StringUtils.isNullOrEmpty(password)) {
DB db = mongo.getDB("credentials");
DBCollection collection = db.getCollection("data_service");
DBObject credentials = new BasicDBObject();
credentials.put("user", user.toLowerCase());
credentials.put("password", EncodingUtils.encodeBase64(password));
if (collection.findOne(credentials) != null) {
isValid = true;
}
}
return isValid;
}
@Required
public void setMongo(Mongo mongo) {
this.mongo = mongo;
}
}