Guest User

Untitled

a guest
May 8th, 2018
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. use admin
  2.  
  3. db.createUser(
  4. {
  5. user: "root",
  6. pwd: "abc123",
  7. roles: [
  8. {
  9. role: "root",
  10. db: "admin"
  11. }]
  12. })
  13.  
  14. use project_db
  15.  
  16. db.createUser(
  17. {
  18. user: "project_admin",
  19. pwd: "def456",
  20. roles: [
  21. {
  22. role: "dbOwner",
  23. db: "project_db"
  24. }]
  25. })
  26.  
  27. mongo --username project_admin
  28. --password def456
  29. --authenticationDatabase project_db
  30. < "${path_to_db_build_script}"
  31.  
  32. db = connect("localhost:27017/project_db");
  33. db.getSiblingDB("project_db").auth("project_admin", "def456");
  34.  
  35. db.auth("project_admin", "def456")
  36.  
  37. db.auth({ user: "project_admin", pwd: "def456" })
  38.  
  39. db.auth({ user: "project_admin", pwd: "def456", digestPassword: fails })
  40.  
  41. db.auth({ user: "project_admin", pwd: "def456", digestPassword: true })
  42.  
  43. db.auth({ user: "project_admin", pwd: "def456", digestPassword: true, mechanism: "PLAIN" })
  44.  
  45. db.auth({ user: "project_admin", pwd: "def456", digestPassword: fails, mechanism: "SCRAM-SHA-1" })
  46.  
  47. db.auth({ user: "project_admin", pwd: "def456", digestPassword: true, mechanism: "SCRAM-SHA-1" })
  48.  
  49. mongo admin -u root -p abc123
  50.  
  51. ...
  52. {
  53. "_id": "project_db.project_admin",
  54. "user": "project_admin",
  55. "db": "project_db",
  56. "credentials":
  57. {
  58. "SCRAM-SHA-1":
  59. {
  60. "iterationCount": 10000,
  61. "salt": "WnKFmGs3BTbmkbUWi0RPnA==",
  62. "storedKey": "EEIMqBEMUUOpoR3i3pgKz0iRumI=",
  63. "serverKey": "HsSOxujNODlKcRiEdi1zkj83MRo="
  64. }
  65. },
  66. "roles": [
  67. {
  68. "role": "dbOwner",
  69. "db": "project_db"
  70. }]
  71. }
  72. ...
  73.  
  74. touch conn.js
  75. chmod 600 conn.js
  76. vim conn.js
  77. # db = connect('localhost/mydb', 'myuser', 'pword');
  78. vim myscript.js
  79. # load('conn.js')
  80. # db.coll.count()
  81. mongo --nodb < myscript.js
  82.  
  83. var mongoose = require('mongoose');
  84. var bcrypt = require('bcrypt');
  85. var SALT_WORK_FACTOR = 10;
  86. mongoose.connect('mongodb://localhost/project_db');
  87.  
  88. var db = mongoose.connection;
  89.  
  90. db.on('error', function(err){
  91. console.log('connection error', err);
  92. });
  93.  
  94. db.once('open', function(){
  95. console.log('Connection to DB successful');
  96. });
  97.  
  98. var Schema = mongoose.Schema;
  99. var userSchema= new Schema({
  100. name:String,
  101. password:String
  102. });
  103.  
  104. var User = mongoose.model('User', userSchema);
  105.  
  106. userSchema.pre('save', function(next){
  107. var user = this;
  108. if (!user.isModified('password')) return next();
  109.  
  110. bcrypt.genSalt(SALT_WORK_FACTOR, function(err, salt){
  111. if(err) return next(err);
  112.  
  113. bcrypt.hash(user.password, salt, function(err, hash){
  114. if(err) return next(err);
  115.  
  116. user.password = hash;
  117. next();
  118. });
  119. });
  120. });
  121.  
  122. var testSample = new User({
  123. name: "admin",
  124. password: "password1234"
  125. });
  126.  
  127. testSample.save(function(err, data){
  128. if(err) console.log(err);
  129. else console.log ('Sucess:' , data);
  130. });
Add Comment
Please, Sign In to add comment