protected user Authenticate(DreamContext context, DreamMessage request, DekiUserLevel level) { user result = null; // get username and password string user; string password; if (!DreamUtil.GetAuthentication(context, request, out user, out password)) { // anonymous access is always granted if (level == DekiUserLevel.Anonymous) { // TODO (steveb): missing code throw new NotImplementedException("return anonymous user"); } else { throw new DreamAbortException(DreamMessage.AccessDenied(AuthenticationRealm, "authentication failed")); } } // validate username and password result = MindTouch.Deki.user.GetUserByName(user); if (result == null) { throw new DreamAbortException(DreamMessage.AccessDenied(AuthenticationRealm, "authentication failed")); } if (!result.checkPassword(password)) { throw new DreamAbortException(DreamMessage.AccessDenied(AuthenticationRealm, "authentication failed")); } if ((level == DekiUserLevel.Admin) && !result.isSysop()) { throw new DreamAbortException(DreamMessage.AccessDenied(AuthenticationRealm, "authentication failed")); } return result; }
protected user Authenticate(DreamContext context, DreamMessage request, DekiUserLevel level) { user result = null; // get username and password string user; string password; if (!DreamUtil.GetAuthentication(context, request, out user, out password)) { // anonymous access is always granted if (level == DekiUserLevel.Anonymous) { // TODO (steveb): missing code throw new NotImplementedException("return anonymous user"); } else { throw new DreamAbortException(DreamMessage.AccessDenied(AuthenticationRealm, "authentication failed")); } } // validate username and password result = MindTouch.Deki.user.GetUserByName(user); if (result == null) { throw new DreamAbortException(DreamMessage.AccessDenied(AuthenticationRealm, "authentication failed")); } if (!result.checkPassword(password)) { throw new DreamAbortException(DreamMessage.AccessDenied(AuthenticationRealm, "authentication failed")); } if ((level == DekiUserLevel.Admin) && !result.isSysop()) { throw new DreamAbortException(DreamMessage.AccessDenied(AuthenticationRealm, "authentication failed")); } return(result); }