Giter Club home page Giter Club logo

meteor-impersonate's Introduction

- NOTE: This package is not maintained anymore.
- If you want to help, please reach out to [email protected]

Meteor Impersonate

Let admins impersonate other users

Installation

meteor add gwendall:impersonate

DOM helpers

Impersonate
Set a [data-impersonate] attribute with the id of the user to impersonate on a DOM element.

<button data-impersonate="{{someUser._id}}">Click to impersonate</button>

Un-impersonate
Set a [data-unimpersonate] attribute to a DOM element.

<button data-unimpersonate>Click to unimpersonate</button>

UI helpers

isImpersonating

{{#if isImpersonating}}
  <button data-unimpersonate>Click to unimpersonate</button>
{{else}}
  <button data-impersonate="{{_id}}">Click to impersonate</button>
{{/if}}

Client Methods

Should you need to use callbacks, use the JS methods directly.

Impersonate.do(userId, callback)

var userId = "...";
Impersonate.do(userId, function(err, userId) {
  if (err) return;
  console.log("You are now impersonating user #" + userId);
});

Impersonate.undo(callback)

Impersonate.undo(function(err, userId) {
  if (err) return;
  console.log("Impersonating no more, welcome back #" + userId);
})

Server Methods

By default, the package will grant users in the "admins" group (through alanning:roles) the possibility to impersonate other users. You can also set any of the two following parameters to define your own impersonation roles.

  • User role
Impersonate.admins = ["masters", "bosses"];
  • User group
Impersonate.adminGroups = [
  { role: "masters", group: "group_A" },
  { role: "bosses", group: "group_B" }
];

Notes

  • Uses alanning:roles. If the user trying to impersonate is not an admin, a server error will be returned.
  • Built upon David Weldon's post

meteor-impersonate's People

Contributors

gwendall avatar pavanputhra avatar siyfion avatar johannel00 avatar fafournier avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.