Hi, As Kevin suggested it's a good idea to follow existing authenticators on http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/authenticators/
Note that you get reuse some generic abstract classes in http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/authenticators/xwiki-authentication-puma/src/main/java/com/xwiki/authentication/ to make it easier for you? 2011/3/25 Marco Antonio González <[email protected]>: > Hi, > >>> Are you sure wikiname (not a very good variable name ;) ) includes the >>> "XWiki." prefix? > > When I try to use createEmptyUser(xwikiname, userRights, context) from an > XWiki object (context.getWiki()) if I manually add "XWiki." in the > "xwikiname" it creates an "XWiki.mynewuser", but on the Admin Users page it > doesn't looks like a normal user, it lacks many of the the user properties > and doesn't have the XWiki.XWikiUserSheet in it's content, also when I try to > get it's XWikiDocument it appears as XWiki.XWiki.mynewuser. > > I'm working with XWiki version 2.4 (xwiki-core-2.4.jar > > Currently, I'm checking how XWikiSunSSOAuthenticator does it, checking what I > do wrong. > > Thank you, > Marco A. Gonzalez > > Date: Fri, 25 Mar 2011 11:44:30 +0200 > From: Marius Dumitru Florea <[email protected]> > Subject: Re: [xwiki-devs] CAS Integration + new User creation > > Hi Marco, > > On 03/25/2011 10:40 AM, Marco Antonio Gonz?lez wrote: >> Hi all, >> >> I'm new developing with XWiki, and I'm not sure this list is the correct to >> post this, so sorry in advance for any inconvenience and my bad english. >> >> I'm trying to get an integration with CAS Auth instead of own XWiki Auth, >> but when I try to create a user on my own implementation of >> XWikiAuthServiceImpl, the user is created on XWiki space, but when i log >> into XWiki and Main is my default Space, the Profile link on top points to >> /xwiki/bin/view/Main/mynewuser instead of /xwiki/bin/view/XWiki/mynewuser >> where I can edit his first name, surname, etc. Is this the default >> behaviour? If not, any suggestions of what I do wrong? >> >> The autentication code is, in my CASAuthServiceImpl class: >> >> public XWikiUser checkAuth(XWikiContext context) throws XWikiException { >> String remoteUser = context.getRequest().getRemoteUser(); >> String wikiname = ""; >> if ((remoteUser == null) || remoteUser.equals("")) { >> getLogger().warn("checkAuth: User cannot be authenticated >> (REMOTE_USER is null)"); >> try { >> context.getResponse().sendRedirect("/cas/login"); >> } catch (IOException ioe) { >> getLogger().warn("checkAuth: CAS Error. Let XWiki handle it. "); >> return super.checkAuth(context); >> } >> } else if (remoteUser.equalsIgnoreCase("xwiki")) { >> getLogger().warn("checkAuth: User is XWIKI (superadmin)"); >> wikiname = "XWiki.superadmin"; >> } else { >> XWiki wiki = context.getWiki(); > >> wikiname = wiki.clearName(remoteUser, true, true, context); > > Are you sure wikiname (not a very good variable name ;) ) includes the > "XWiki." prefix? > >> this.context.getWiki().createEmptyUser(wikiname, "edit", context); >> } > >> context.setUser(wikiname); > > References are resolved relative to the current context: > > Foo -> currentWiki:currentSpace.Foo > Bar.Foo -> currentWiki:Bar.Foo > wiki:Bar.Foo -> wiki:Bar.Foo > > Hope this helps, > Marius > >> return new XWikiUser(wikiname); >> } catch (XWikiException e) { >> getLogger().error("checkAuth: Cannot validate user. " + e.getMessage()); >> throw e; >> } >> >> Thank you, >> Marco A. Gonzalez >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

