Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-10) was last changed on 24-May-2006 17:09 by 209.221.240.193  

This page was created on 21-Oct-2002 14:28 by Mortena

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 changed one line
The Authenticator is a plugable interface:
Authenticator is, as yet, a purely hypothetical object related to
[JSPWiki Authentication]. This page discusses the expected needs for
such an object. ''This is NOT a documentation page.''
----
----
[Kyle Adams]: Is it still purely hypothetical? Based on the [Authorization And Authentication HOWTO] and the existence of an [LDAPAuthenticator|LDAPAuthentication] it seems to have progressed beyond the theoretical stages and into the implementation.
[JanneJalkanen]: You're right, it's been implemented in 2.1. [RefactorMe], please.
----
The Authenticator is a pluggable interface. This can be implemented to make it work with an external system, or with a normal wikipage, or even a flat text-file.
The code:
At line 6 changed one line
public interface Authenticator {
public abstract class Authenticator {
public boolean Login(String username, String password, HttpServletRequest request){
Wiki wiki = ...;
WikiUserPrincipal user = getWikiUserPrincipal(username,password,wiki);
if ( user == null)
return false;
else
request.getSession.setAttribute("user", user);
}
At line 8 changed 2 lines
* Method responsible for adding a WikiUserPrincipal to the session. If that can be done
* the method returns true. Else false is returned.
* This method is responsible for controlling the username and password against
* some persistently saved mapping of these. The method returns a WikiUserPrincipal if
* the user can log in else null is returned (Maybe an exception or error should be thrown instead).
At line 11 changed one line
public boolean Login(String username, String password, HttpServletRequest request);
protected abstract WikiUserPrincipal getWikiUserPrincipal(String username, String password, WikiEngine wiki);
At line 41 added 46 lines
-----
One hypothetical Authenticator I suggested is a WikiPageAuthenticator,
which would parse a designated WikiPage to read user information. (I'm
not yet convinced this is a good idea, in fact, mainly because of issues
with hiding users' passwords. Simple enough to try out, though.)
--[ebu]
Here are [Mortena]'s further ideas on the subject:
----
This is an example of how a user page can look like:
||Name||Before @||After @
|Morten Andersen|mortena|mip.sdu.dk
The information can then be picked up by a method, that takes the table headings and uses them as the keys to a mapping:
{{{
/**Reads in table number=tableNumber on page=wikiPage.*/
public Collection readInTable(String wikiPage, int tableNumber){
}}}
# Read in the names of the headings: ("Name", "Before @", "After @")
# For each row in the table make a map with a key for each of the heading names.
# Add the value of the coloumn in the row to the map.
# Add the map to a collection.
# return the collection of Maps.
{{{
}
}}}
One map would look like this:
||Key:|Name|Before @|After @
||Value:|Morten Andersen|mortena|mip.sdu.dk
The method could be used for all types of applications (EmailGenerator etc.), and it would be independent of how the columns were arranged.
----
''Are the table formattings really necessary? If such a simple auth list is
used, why not KISS all the way?'' --[ebu]
Version Date Modified Size Author Changes ... Change note
10 24-May-2006 17:09 2.976 kB 209.221.240.193 to previous
9 24-Nov-2004 10:16 2.972 kB Administrator to previous | to last
8 23-Nov-2004 20:50 2.885 kB KyleAdams to previous | to last
7 22-Oct-2002 01:49 2.623 kB Ebu to previous | to last
6 22-Oct-2002 01:48 2.56 kB Ebu to previous | to last
5 21-Oct-2002 15:18 1.0 kB Mortena to previous | to last
4 21-Oct-2002 14:42 0.866 kB Mortena to previous | to last
3 21-Oct-2002 14:41 0.793 kB Mortena to previous | to last
2 21-Oct-2002 14:29 0.469 kB Mortena to previous | to last
1 21-Oct-2002 14:28 0.366 kB Mortena to last
« This page (revision-10) was last changed on 24-May-2006 17:09 by 209.221.240.193