# HG changeset patch # User František Kučera # Date 1320683743 -3600 # Node ID 79ce65d63cce21fca65d778bbae1db1f3ce408d6 # Parent 4ddc1020a15433ca42b20db9bfced6aaa03b4234 ACL: uživatel v Article bude jako User ne jen jako String. diff -r 4ddc1020a154 -r 79ce65d63cce src/org/sonews/daemon/command/PostCommand.java --- a/src/org/sonews/daemon/command/PostCommand.java Sun Nov 06 00:08:05 2011 +0100 +++ b/src/org/sonews/daemon/command/PostCommand.java Mon Nov 07 17:35:43 2011 +0100 @@ -213,9 +213,7 @@ private void postArticle(NNTPConnection conn, Article article) throws IOException { - if (conn.getUser() != null && conn.getUser().isAuthenticated()) { - article.setAuthenticatedUser(conn.getUser().getUserName()); - } + article.setUser(conn.getUser()); if (article.getHeader(Headers.CONTROL)[0].length() > 0) { controlMessage(conn, article); diff -r 4ddc1020a154 -r 79ce65d63cce src/org/sonews/storage/Article.java --- a/src/org/sonews/storage/Article.java Sun Nov 06 00:08:05 2011 +0100 +++ b/src/org/sonews/storage/Article.java Mon Nov 07 17:35:43 2011 +0100 @@ -31,6 +31,7 @@ import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.internet.InternetHeaders; +import org.sonews.acl.User; import org.sonews.config.Config; import org.sonews.util.Log; @@ -42,7 +43,7 @@ */ public class Article extends ArticleHead { - private String authenticatedUser; + private User sender; /** * Loads the Article identified by the given ID from the JDBCDatabase. @@ -224,17 +225,17 @@ } /** - * @return username of currently logged user – or null, if user is not authenticated. + * @return sender – currently logged user – or null, if user is not authenticated. */ - public String getAuthenticatedUser() { - return authenticatedUser; + public User getUser() { + return sender; } /** * This method is to be called from POST Command implementation. - * @param authenticatedUser current username – or null, if user is not authenticated. + * @param sender current username – or null, if user is not authenticated. */ - public void setAuthenticatedUser(String authenticatedUser) { - this.authenticatedUser = authenticatedUser; + public void setUser(User sender) { + this.sender = sender; } } diff -r 4ddc1020a154 -r 79ce65d63cce src/org/sonews/storage/impl/DrupalDatabase.java --- a/src/org/sonews/storage/impl/DrupalDatabase.java Sun Nov 06 00:08:05 2011 +0100 +++ b/src/org/sonews/storage/impl/DrupalDatabase.java Mon Nov 07 17:35:43 2011 +0100 @@ -401,10 +401,8 @@ */ @Override public void addArticle(Article article) throws StorageBackendException { - if (article.getAuthenticatedUser() == null) { - log.log(Level.SEVERE, "User was not authenticated, so his article was rejected."); - throw new StorageBackendException("User must be authenticated to post articles"); - } else { + if (article.getUser() != null && article.getUser().isAuthenticated()) { + try { DrupalMessage m = new DrupalMessage(article); @@ -426,12 +424,16 @@ } } - insertArticle(article.getAuthenticatedUser(), subject, text, parentID, groupID); - log.log(Level.INFO, "User ''{0}'' has posted an article", article.getAuthenticatedUser()); + insertArticle(article.getUser().getUserName(), subject, text, parentID, groupID); + log.log(Level.INFO, "User ''{0}'' has posted an article", article.getUser().getUserName()); } } catch (Exception e) { throw new StorageBackendException(e); } + + } else { + log.log(Level.SEVERE, "User was not authenticated, so his article was rejected."); + throw new StorageBackendException("User must be authenticated to post articles"); } }