From do-not-reply at jboss.org Sun Jan 8 20:32:32 2012
Content-Type: multipart/mixed; boundary="===============4962503347919191296=="
MIME-Version: 1.0
From: do-not-reply at jboss.org
To: gatein-commits at lists.jboss.org
Subject: [gatein-commits] gatein SVN: r8281 -
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIdentity.
Date: Sun, 08 Jan 2012 20:32:32 -0500
Message-ID: <201201090132.q091WWCF024292@svn01.web.mwc.hst.phx2.redhat.com>
--===============4962503347919191296==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Author: smumford
Date: 2012-01-08 20:32:31 -0500 (Sun, 08 Jan 2012)
New Revision: 8281
Modified:
epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndIde=
ntity/AuthenticationAuthorizationOverview.xml
Log:
JBEPP-1468: Perfunctory edit of new Authorization content
Modified: epp/docs/branches/5.2/Reference_Guide/en-US/modules/Authenticatio=
nAndIdentity/AuthenticationAuthorizationOverview.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndId=
entity/AuthenticationAuthorizationOverview.xml 2012-01-08 23:46:25 UTC (rev=
8280)
+++ epp/docs/branches/5.2/Reference_Guide/en-US/modules/AuthenticationAndId=
entity/AuthenticationAuthorizationOverview.xml 2012-01-09 01:32:31 UTC (rev=
8281)
@@ -143,7 +143,7 @@
Login modules
=
- JBoss Enterprise Portal Platform uses its own security domain =
(gatein-domain) with a set of predefined=
login modules. Login module configuration for gatein-domain is contained in the deploy/gatein.ear/META-INF/gatein-jboss-b=
eans.xml file.
+ JBoss Enterprise Portal Platform uses its own security domain =
(gatein-domain) with a set of predefined=
login modules. Login module configuration for gatein-domain is contained in the deploy/gatein.ear/META-INF/gatein-jbos=
s-beans.xml file.
Below is the default login modules stack:
@@ -187,7 +187,7 @@
- It is possible to log a user in through existing login m=
odules with their credentials (username: root/ password:=
gtn, for example) but also with a WCI ticket (username:=
root/password: wci-ticket-458791). =
The login modules stack supports both of these methods of authentication.
+ It is possible to log a user in through existing login m=
odules with their credentials (username: root/ password:=
gtn, for example) but also with a WCI ticket (username:=
root/password: wci-ticket-458791). T=
he login modules stack supports both of these methods of authentication.
=
@@ -272,7 +272,10 @@
CustomMembershipLoginModule
- Special login module, which is disabled (=
commented) by default. It can be used to add user to some existing group du=
ring successful login of this user. Name of group is configurable and by de=
fault it's /platform/users group. Login module is comm=
ented because in normal environment, users are already in /platfo=
rm/users group. It's useful only for some special setups like re=
ad-only LDAP, where groups of ldap user are taken from ldap tree and so tha=
t users may not be in /platform/users group, which is needed for successful=
authorization.
+ Special login module, which is disabled (=
commented) by default. It can be used to add user to some existing group du=
ring successful login of this user. Name of group is configurable, by defau=
lt it is /platform/users group.
+
+
+ This login module is commented because in =
normal environment, users are already in /platform/users group. It is useful only for some special setups like read-only LDAP, wh=
ere groups of ldap user are taken from ldap tree and so that users may not =
be in /platform/users group, which is needed for succe=
ssful authorization.
@@ -336,7 +339,7 @@
Authentication on application server level
=
- Application server needs to properly recognize that user=
is successfuly logged and it has assigned his JAAS roles. Unfortunately th=
is part is not standardized and is specific for each AS. For example in JBo=
ss AS, you need to ensure that JAAS Subject has assigned principal with use=
rname (UserPrincipal) and also RolesPrincipal, which has name "Roles" and i=
t contains list of JAAS roles. This part is actually done in Jbos=
sLoginModule.commit(). In Tomcat, this flow is little different,=
which means Tomcat has it's own TomcatLoginModule.
+ Application server needs to properly recognize that user=
is successfuly logged and it has assigned his JAAS roles. Unfortunately th=
is part is not standardized and is specific for each AS. For example in JBo=
ss AS, you need to ensure that JAAS Subject has assigned principal with use=
rname (UserPrincipal) and also RolesPrincipal, which has name "Roles" and i=
t contains list of JAAS roles. This part is actually done in JbossLog=
inModule.commit()
. In Tomcat, this flow is little different, which m=
eans Tomcat has it is own TomcatLoginModule.
=
@@ -349,7 +352,7 @@
Authentication on JBoss Enterprise Portal Platform l=
evel
=
- Login process needs to create special object org.exoplatform.services.security.Identity and regi=
ster this object into JBoss Enterprise Portal Platform component IdentityRegistry. This Identity object should enca=
psulate username of authenticated user, Memberships of this user and also J=
AAS roles. Identity object can be easily created with interface Authenticator as can be seen below.
+ Login process needs to create special object or=
g.exoplatform.services.security.Identity and register this object=
into JBoss Enterprise Portal Platform component IdentityRegistry<=
/literal>. This Identity object should encapsulate username of authenticate=
d user, Memberships of this user and also JAAS roles. Identity object can b=
e easily created with interface Authenticator as can be =
seen below.
=
@@ -410,7 +413,7 @@
=
- set of Strings with JAAS roles of given user. JAAS ro=
les are simple Strings, which are mapped from MembershipEntry objects. Ther=
e is another special component org.exoplatform.services.security.=
RolesExtractor, which is used to map JAAS roles from MembershipE=
ntry objects. RolesExtractor interface looks like this:
+ Set of Strings with JAAS roles of given user. JAAS ro=
les are simple Strings, which are mapped from MembershipEntry objects. Ther=
e is another special component org.exoplatform.services.security.=
RolesExtractor, which is used to map JAAS roles from MembershipE=
ntry objects. RolesExtractor interface looks like this:
@@ -456,7 +459,7 @@
RememberMe authentication
=
- In default login dialog, you can notice that there is "Reme=
mber my login" checkbox, which users can use to persist their login on his =
workstation. Default validity period of RememberMe cookie is 1 day (it is c=
onfigurable), and so user can be logged for whole day before he need to rea=
uthenticate again with his credentials.
+ In default login dialog, you can notice that there is "Reme=
mber my login" checkbox, which users can use to persist their login on his =
workstation. Default validity period of RememberMe cookie is one day (it is=
configurable), and so user can be logged for whole day before he need to r=
eauthenticate again with his credentials.
=
@@ -465,13 +468,13 @@
- User checks the checkbox "Remember my login" on lo=
gin screen of JBoss Enterprise Portal Platform . Then he submit the form.
+ User checks the checkbox "Remember my login" on lo=
gin screen of JBoss Enterprise Portal Platform . Then submits the form.
=
- HTTP request like http://localhost:8080/=
portal/login?initialURI=3D/portal/classic&username=3Droot&password=
=3Dgtn&rememberme=3Dtrue is send to server
+ HTTP request like http://localhost:8080/porta=
l/login?initialURI=3D/portal/classic&username=3Droot&password=3Dgtn=
&rememberme=3Dtrue is sent to server.
=
@@ -495,7 +498,7 @@
=
- User send HTTP request to some portal page (ie. http://localhost:8080/portal/classic ).
+ User send HTTP request to some portal page (ie. http://localhost:8080/portal/classic ).
=
@@ -511,7 +514,7 @@
RemindPasswordTokenService
=
- This is special service used during RememberMe authentic=
ation workflow. It's configurable in file deploy/gatein.ear/02por=
tal.war/WEB-INF/conf/common/remindpwd-configuration.xml . For mo=
re info, look at section
+ This is special service used during RememberMe authentic=
ation workflow. It is configurable in file deploy/gatein.ear/02po=
rtal.war/WEB-INF/conf/common/remindpwd-configuration.xml . For m=
ore info, look at section
=
@@ -524,7 +527,7 @@
BASIC authentication
=
- JBoss Enterprise Portal Platform is using FORM based authen=
tication by default but it's not a problem with switch to different authent=
ication type like BASIC. Only needed thing is to configure it properly in <=
emphasis>deploy/gatein.ear/02portal.war/WEB-INF/web.xml like thi=
s:
+ JBoss Enterprise Portal Platform is using FORM based authen=
tication by default but it is not a problem with switch to different authen=
tication type like BASIC. Only needed thing is to configure it properly in =
deploy/gatein.ear/02portal.war/WEB-INF/web.xml like th=
is:
- User will send request to loadbalancer and he will be=
redirected to node1. All his requests will be then processed on node1 (sti=
cky session).
+ User will send request to loadbalancer and he will be=
redirected to node1. All his requests will be then pr=
ocessed on node1 (sticky session).
=
- User login on loadbalancer (which is redirected to no=
de1)
+ User login on loadbalancer (which is redirected to node1)
=
@@ -583,19 +586,19 @@
=
- User will send another HTTP request. He will now be r=
edirected to node2 because node1 is killed. Now user will be automatically =
logged on node2 as well thanks to session replication, because he still has=
same HTTP session, which was replicated from node1 to node2. So end user s=
houldn't recognize any change even if his work is now done on different nod=
e of cluster.
+ User will send another HTTP request. He will now be r=
edirected to node2 because node1 =
is killed. Now user will be automatically logged on node2 as well thanks to session replication, because he still has same HTTP s=
ession, which was replicated from node1 to n=
ode2. So end user shouldn't recognize any change even if his wor=
k is now done on different node of cluster.
=
- This login workflow works thanks to PortalLoginMo=
dule, which is able to save special attribute into HTTP session =
as flag that user is already logged. Then reauthentication on node2 is work=
ing thanks to servlet filter ClusteredSSOFilter, which=
is able to automatically trigger programmatic authentication.
+ This login workflow works thanks to PortalLoginMo=
dule, which is able to save special attribute into HTTP session =
as flag that user is already logged. Then reauthentication on nod=
e2 is working thanks to servlet filter ClusteredSSOFil=
ter, which is able to automatically trigger programmatic authent=
ication.
=
Note
- ClusteredSSOFilter is using proprietary JBossWeb A=
PI for trigger programmatic authentication and so it's working only on JBos=
s AS. It is not working on other servers like Tomcat or Jetty.
+ ClusteredSSOFilter is using pro=
prietary JBossWeb API for trigger programmatic authentication and so it is =
working only on JBoss AS. It is not working on other servers like Tomcat or=
Jetty.
=
@@ -650,18 +653,18 @@
Servlet container authorization
=
- First round of authorization is servlet container authoriza=
tion based on secured URL from web.xml. We saw above i=
n web.xml snippet that secured URL are accessible only for users from role =
users:
+ First round of authorization is servlet container authoriza=
tion based on secured URL from web.xml. We saw above i=
n web.xml snippet that secured URL are accessible only for users from role =
users:
users
]]>
- This actually means that our user needs to be in JBoss Ente=
rprise Portal Platform role /platform/users (For detai=
ls see ). In other words, if we successfuly authenticate bu=
t our user is not in group /platform/users, then it means that he is not in=
JAAS role users, which in next turn means that he wil=
l have authorization error 403 Forbidden=
thrown by servlet container.
+ This actually means that our user needs to be in JBoss Ente=
rprise Portal Platform role /platform/users (For detai=
ls see ). In other words, if we successfuly authenticate bu=
t our user is not in group /platform/users, then it me=
ans that he is not in JAAS role users, which in next t=
urn means that he will have authorization error 403=
Forbidden thrown by servlet container.
=
- You can change the behaviour and possibly add some more auth-constraint elements into web.xml. However this prote=
ction of resources based on web.xml is not standard JBoss Enterprise Portal=
Platform way and it's mentioned here mainly for illustration purposes.
+ You can change the behaviour and possibly add some more auth-constraint elements into web.xml. However this protection of resources based on web.xml is not standard JB=
oss Enterprise Portal Platform way and it is mentioned here mainly for illu=
stration purposes.
=
@@ -685,7 +688,7 @@
=
- HTTP request is processed through SetCurrentIdentityFilter, which is declared in de=
ploy/gatein.ear/02portal.war/WEB-INF/web.xml.
+ HTTP request is processed through SetCurrent=
IdentityFilter, which is declared in deploy/gatein.ear/=
02portal.war/WEB-INF/web.xml.
=
--===============4962503347919191296==--