Thank you, i'll check it.

Regards,
Marco A. González


----- Reply message -----
De: "Kevin Foote" <[email protected]>
Para: "Marco Antonio González" <[email protected]>, "Developers at 
xwiki. org ([email protected])" <[email protected]>
Asunto: [xwiki-devs] CAS Integration + new User creation
Fecha: vie., mar. 25, 2011 10:06



Marco,

I followed the sun-sso example here.
It should get you pointed in the right direction.

http://svn.xwiki.org/svnroot/xwiki/contrib/sandbox/authenticators/

Sent from mobile

----- Reply message -----
From: "Marco Antonio González" <[email protected]>
Date: Fri, Mar 25, 2011 4:40 am
Subject: [xwiki-devs] CAS Integration + new User creation
To: "Developers at xwiki. org ([email protected])" <[email protected]>

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);
     this.context.getWiki().createEmptyUser(wikiname, "edit", context);
  }
  context.setUser(wikiname);
  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

Reply via email to