Fixed generic permission model to redirect to login page if anonymous user was not granted access

This commit is contained in:
Tobi Schäfer 2008-05-08 17:05:51 +00:00
parent b3a85c5998
commit 3e32e976db
3 changed files with 10 additions and 5 deletions

View file

@ -83,6 +83,10 @@ HopObject.prototype.onRequest = function() {
} }
if (!this.getPermission(req.action)) { if (!this.getPermission(req.action)) {
if (!session.user) {
res.message = gettext("Please login first.");
res.redirect(res.handlers.site.members.href("login"));
}
res.status = 401; res.status = 401;
res.write(gettext("Sorry, you are not allowed to access this part of the site.")); res.write(gettext("Sorry, you are not allowed to access this part of the site."));
res.stop(); res.stop();

View file

@ -23,10 +23,6 @@
// //
Members.prototype.getPermission = function(action) { Members.prototype.getPermission = function(action) {
if (!this._parent.getPermission("main")) {
return false;
}
switch (action) { switch (action) {
case "login": case "login":
case "logout": case "logout":
@ -34,7 +30,13 @@ Members.prototype.getPermission = function(action) {
case "reset": case "reset":
case "salt.js": case "salt.js":
return true; return true;
}
if (!this._parent.getPermission("main")) {
return false;
}
switch (action) {
case "edit": case "edit":
case "privileges": case "privileges":
case "subscriptions": case "subscriptions":

View file

@ -108,7 +108,6 @@ Site.prototype.getPermission = function(action) {
case "rss.xsl": case "rss.xsl":
case "search": case "search":
case "stories.xml": case "stories.xml":
case "tags":
return Site.require(Site.PUBLIC) || return Site.require(Site.PUBLIC) ||
(Site.require(Site.RESTRICTED) && (Site.require(Site.RESTRICTED) &&
Membership.require(Membership.CONTRIBUTOR)) || Membership.require(Membership.CONTRIBUTOR)) ||