You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ga...@apache.org on 2013/05/09 16:01:46 UTC
[49/50] git commit: updated refs/heads/route-events to c33e390
add example auth module
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/51275235
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/51275235
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/51275235
Branch: refs/heads/route-events
Commit: 512752353d5ee6753ec9ed8f73daa1846fcc4c98
Parents: ad55290
Author: Garren Smith <ga...@gmail.com>
Authored: Wed May 8 21:25:25 2013 +0200
Committer: Garren Smith <ga...@gmail.com>
Committed: Thu May 9 10:02:19 2013 +0200
----------------------------------------------------------------------
.gitignore | 1 +
src/fauxton/app/addons/exampleAuth/base.js | 59 +++++++++++++++
.../app/addons/exampleAuth/templates/noAccess.html | 19 +++++
3 files changed, 79 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/51275235/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 67da1c8..c1ece09 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,6 +92,7 @@ src/fauxton/app/addons/*
!src/fauxton/app/addons/stats
!src/fauxton/app/addons/contribute
!src/fauxton/app/addons/auth
+!src/fauxton/app/addons/exampleAuth
src/fauxton/settings.json*
!src/fauxton/settings.json.default
share/www/fauxton
http://git-wip-us.apache.org/repos/asf/couchdb/blob/51275235/src/fauxton/app/addons/exampleAuth/base.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/exampleAuth/base.js b/src/fauxton/app/addons/exampleAuth/base.js
new file mode 100644
index 0000000..b58558c
--- /dev/null
+++ b/src/fauxton/app/addons/exampleAuth/base.js
@@ -0,0 +1,59 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy of
+// the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+
+define([
+ "app",
+
+ "api"
+],
+
+function(app, FauxtonAPI) {
+ // This is an example module of using the new auth module.
+
+ var noAccessView = FauxtonAPI.View.extend({
+ template: "addons/exampleAuth/templates/noAccess"
+
+ });
+
+ // To utilise the authentication - all that is required, is one callback
+ // that is registered with the auth api. This function can return an array
+ // of deferred objects.
+ // The roles argument that is passed in is the required roles for the current user
+ // to be allowed to access the current page.
+ // The layout is the main layout for use when you want to render a view onto the page
+ var auth = function (roles, layout) {
+ var deferred = $.Deferred();
+
+ if (roles.indexOf('admin') > -1) {
+ deferred.reject();
+ } else {
+ deferred.resolve();
+ }
+
+ return [deferred];
+ };
+
+ // If you would like to do something with when access is denied you can register this callback.
+ // It will be called is access has been denied on the previous page.
+ var authFail = function (layout) {
+ layout.setView('#dashboard', new noAccessView());
+ layout.renderView('#dashboard');
+ };
+
+ // Register the auth call back. This will be called before new route rendered
+ FauxtonAPI.auth.registerAuth(auth);
+ // Register a failed route request callback. This is called if access is denied.
+ FauxtonAPI.auth.registerAuthDenied(authFail);
+
+
+
+});
http://git-wip-us.apache.org/repos/asf/couchdb/blob/51275235/src/fauxton/app/addons/exampleAuth/templates/noAccess.html
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/exampleAuth/templates/noAccess.html b/src/fauxton/app/addons/exampleAuth/templates/noAccess.html
new file mode 100644
index 0000000..f1a9506
--- /dev/null
+++ b/src/fauxton/app/addons/exampleAuth/templates/noAccess.html
@@ -0,0 +1,19 @@
+<!--
+Licensed under the Apache License, Version 2.0 (the "License"); you may not
+use this file except in compliance with the License. You may obtain a copy of
+the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations under
+the License.
+-->
+
+<div class="row-fluid" >
+ <div class="span6 offset4">
+ <h3> You do not have permission to view this page </h3>
+</div>
+</div>