You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Mahen Perera <Ma...@igindex.co.uk> on 2008/04/01 16:11:12 UTC

RE: T5: Problem with login form with Acegi

Quick Question:
How can we avoid the situation where a user tries to directly access the
URL corresponding to the page named "Secure" in this case. I mean
without going thru the login form. 

Thanks



-----Original Message-----
From: Jacob Bergoo [mailto:jacob.bergoo@gmail.com] 
Sent: 28 March 2008 23:28
To: users@tapestry.apache.org
Subject: T5: Problem with login form with Acegi


Hi All, 
In my project I use the Tapestry5-Acegi project and made that work
following
the example and with some help from the forum, thanks... 
Now I'm trying to make a more realistic version of a login where I can
control the validation on the login form and also based on user roles
redirect the user to the right page.
I have created a page like this:
public class LoginPage {
	
	/* PRIVATE MEMBERS */
	@Persist
	private String userName;
	private String password;
	@Component
	private Form form;
	
	/* INJECTED COMPONENTS, SERVICES ETC. */
	@Component(id = "password")
	private PasswordField passwordField;
	
	@Inject
	private AuthenticationManager authenticationManager;

	/* GETTERS AND SETTERS */
	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	/* ACTION METHODS */
	protected String onSuccess() {
		UsernamePasswordAuthenticationToken authRequest = new
UsernamePasswordAuthenticationToken(userName, password);
		Authentication authResult;

		try {
			authResult =
authenticationManager.authenticate(authRequest);
			if (!authResult.isAuthenticated()) {
				form.recordError(passwordField,
						"Invalid user name or
password.");
				return null;
			}
			GrantedAuthority[] gratedAuthorityArray =
authResult.getAuthorities();
			Set<GrantedAuthority> grantedAuthoritySet = new
HashSet<GrantedAuthority>();
			for (int i = 0; i < gratedAuthorityArray.length;
i++) {
	
grantedAuthoritySet.add(gratedAuthorityArray[i]);
				System.out.println("Adding " +
gratedAuthorityArray[i] + " to set");
			}
			
			// DEBUGGING....
			System.out.println("successful login for: " +
userName);
			System.out.println("authResult.getCredentials()
= "	+
authResult.getCredentials());
			System.out.println("authResult.getPrincipal() =
" +
authResult.getPrincipal());
			System.out.println("authResult.getAuthorities():
");
			for (int i = 0; i < gratedAuthorityArray.length;
i++) {
				System.out.println("Auth no " + (i + 1)
+ " = '" +
gratedAuthorityArray[i] + "'");
			}
			// END DEBUGGING...
			
			if (grantedAuthoritySet.contains("ROLE_ADMIN"))
{
				System.out.println("Redirecting to
Secure page...");
				return "Secure";
			} else if
(grantedAuthoritySet.contains("ROLE_SOME_OTHER_ROLE")) {
				System.out.println("redirecting to some
other page");
				return "SOME_OTHER_PAGE";
			}

		} catch (AuthenticationException
authenticationException) {
			System.out.println("user with username = " +
userName
					+ "couldn't be authenticated
with Acegi");
		}

		return null;
	}
	
}

In my Jetty Console I can see that I get the Authetication:

Adding ROLE_ADMIN to set
Adding ROLE_MANAGER to set
Adding ROLE_USER to set
successful login for: jacob
authResult.getCredentials() = jacob
authResult.getPrincipal() = UserDetailsBean {
	username = jacob
	password = jacob
	accountNonExpired = true
	passwordaccountNonLocked = true
	credentialsNonExpired = true
	enabled = true
	grantedAuthorities {
		'ROLE_ADMIN'
		'ROLE_MANAGER'
		'ROLE_USER'
	}
}

authResult.getAuthorities(): 
Auth no 1 = 'ROLE_ADMIN'
Auth no 2 = 'ROLE_MANAGER'
Auth no 3 = 'ROLE_USER'
[INFO] TimingFilter Request time: 26 ms
[INFO] TimingFilter Request time: 18 ms
[INFO] TimingFilter Request time: 2 ms

but the redirection to the pages doesn't work... and if I change the
last
return null; to return "Secure"; then I get this exception instead:

[ERROR] Secure Render queue error in BeginRender[Secure]: Access is
denied
org.apache.tapestry.ioc.internal.util.TapestryException: Access is
denied
	at
org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(C
omponentPageElementImpl.java:884)
	at
org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$1
00(ComponentPageElementImpl.java:54)
	at
org.apache.tapestry.internal.structure.ComponentPageElementImpl$11.rende
r(ComponentPageElementImpl.java:342)
	at
org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImp
l.java:63)
	at
org.apache.tapestry.internal.services.PageRenderQueueImpl.render(PageRen
derQueueImpl.java:84)
	at
$PageRenderQueue_118f7af20ee.render($PageRenderQueue_118f7af20ee.java)
	at
$PageRenderQueue_118f7af20e7.render($PageRenderQueue_118f7af20e7.java)
	at
org.apache.tapestry.services.TapestryModule$19.renderMarkup(TapestryModu
le.java:1293)
	at
org.apache.tapestry.services.TapestryModule$23.renderMarkup(TapestryModu
le.java:1402)
	at
$MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
a)
	at
org.apache.tapestry.services.TapestryModule$22.renderMarkup(TapestryModu
le.java:1383)
	at
$MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
a)
	at
org.apache.tapestry.services.TapestryModule$21.renderMarkup(TapestryModu
le.java:1365)
	at
$MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
a)
	at
org.apache.tapestry.services.TapestryModule$20.renderMarkup(TapestryModu
le.java:1347)
	at
$MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
a)
	at
$MarkupRenderer_118f7af20ec.renderMarkup($MarkupRenderer_118f7af20ec.jav
a)
	at
org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageM
arkup(PageMarkupRendererImpl.java:55)
	at
$PageMarkupRenderer_118f7af20ea.renderPageMarkup($PageMarkupRenderer_118
f7af20ea.java)
	at
org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPag
eResponse(PageResponseRendererImpl.java:57)
	at
$PageResponseRenderer_118f7af20bb.renderPageResponse($PageResponseRender
er_118f7af20bb.java)
	at
org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handl
e(PageRenderRequestHandlerImpl.java:59)
	at
org.apache.tapestry.services.TapestryModule$29.handle(TapestryModule.jav
a:1607)
	at
$PageRenderRequestHandler_118f7af20bc.handle($PageRenderRequestHandler_1
18f7af20bc.java)
	at
$PageRenderRequestHandler_118f7af20b1.handle($PageRenderRequestHandler_1
18f7af20b1.java)
	at
org.apache.tapestry.internal.services.PageRenderDispatcher.process(PageR
enderDispatcher.java:97)
	at
org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(Page
RenderDispatcher.java:73)
	at
$Dispatcher_118f7af20b8.dispatch($Dispatcher_118f7af20b8.java)
	at
$Dispatcher_118f7af20a9.dispatch($Dispatcher_118f7af20a9.java)
	at
org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.ja
va:944)
	at
com.bergoo.webshop.services.AppModule$1.service(AppModule.java:94)
	at
$RequestFilter_118f7af20a8.service($RequestFilter_118f7af20a8.java)
	at
$RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
	at
org.apache.tapestry.internal.services.LocalizationFilter.service(Localiz
ationFilter.java:42)
	at
$RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
	at
org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.jav
a:553)
	at
$RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
	at
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFi
lesFilter.java:79)
	at
$RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
	at
nu.localhost.tapestry.acegi.services.internal.RequestFilterWrapper$1.doF
ilter(RequestFilterWrapper.java:60)
	at
nu.localhost.tapestry.acegi.services.internal.AcegiExceptionTranslationF
ilter.doFilter(AcegiExceptionTranslationFilter.java:67)
	at
nu.localhost.tapestry.acegi.services.internal.RequestFilterWrapper.servi
ce(RequestFilterWrapper.java:54)
	at
$RequestFilter_118f7af20a4.service($RequestFilter_118f7af20a4.java)
	at
$RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
	at
org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.jav
a:520)
	at
$RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
	at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Che
ckForUpdatesFilter.java:93)
	at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Che
ckForUpdatesFilter.java:84)
	at
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(Concurr
entBarrier.java:77)
	at
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(Chec
kForUpdatesFilter.java:106)
	at
$RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
	at
$RequestHandler_118f7af209e.service($RequestHandler_118f7af209e.java)
	at
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.ja
va:924)
	at
org.apache.tapestry.internal.services.IgnoredPathsFilter.service(Ignored
PathsFilter.java:62)
	at
$HttpServletRequestFilter_118f7af209d.service($HttpServletRequestFilter_
118f7af209d.java)
	at
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
r_118f7af209f.java)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
	at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter
(AnonymousProcessingFilter.java:125)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper.service(HttpServletRequestFilterWrapper.java:52)
	at
$HttpServletRequestFilter_118f7af209c.service($HttpServletRequestFilter_
118f7af209c.java)
	at
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
r_118f7af209f.java)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
	at
org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilt
er(SecurityContextHolderAwareRequestFilter.java:81)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper.service(HttpServletRequestFilterWrapper.java:52)
	at
$HttpServletRequestFilter_118f7af209b.service($HttpServletRequestFilter_
118f7af209b.java)
	at
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
r_118f7af209f.java)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
	at
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(Reme
mberMeProcessingFilter.java:135)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper.service(HttpServletRequestFilterWrapper.java:52)
	at
$HttpServletRequestFilter_118f7af209a.service($HttpServletRequestFilter_
118f7af209a.java)
	at
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
r_118f7af209f.java)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
	at
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessin
gFilter.java:271)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper.service(HttpServletRequestFilterWrapper.java:52)
	at
$HttpServletRequestFilter_118f7af2099.service($HttpServletRequestFilter_
118f7af2099.java)
	at
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
r_118f7af209f.java)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
	at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(H
ttpSessionContextIntegrationFilter.java:249)
	at
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
apper.service(HttpServletRequestFilterWrapper.java:52)
	at
$HttpServletRequestFilter_118f7af2098.service($HttpServletRequestFilter_
118f7af2098.java)
	at
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
r_118f7af209f.java)
	at
$HttpServletRequestHandler_118f7af2097.service($HttpServletRequestHandle
r_118f7af2097.java)
	at
org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:168)
	at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(Web
ApplicationHandler.java:821)
	at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFil
terInternal(OpenSessionInViewFilter.java:198)
	at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequ
estFilter.java:75)
	at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(Web
ApplicationHandler.java:821)
	at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH
andler.java:471)
	at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
	at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
text.java:633)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
	at org.mortbay.http.HttpServer.service(HttpServer.java:909)
	at
org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
	at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
	at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
	at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245
)
	at
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
	at
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: org.acegisecurity.AccessDeniedException: Access is denied
	at
org.acegisecurity.vote.AffirmativeBased.decide(AffirmativeBased.java:68)
	at
$AccessDecisionManager_118f7af2115.decide($AccessDecisionManager_118f7af
2115.java)
	at
org.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation
(AbstractSecurityInterceptor.java:323)
	at
nu.localhost.tapestry.acegi.services.internal.StaticSecurityChecker.chec
kBefore(StaticSecurityChecker.java:43)
	at
$SecurityChecker_118f7af20ce.checkBefore($SecurityChecker_118f7af20ce.ja
va)
	at com.bergoo.webshop.pages.Secure.beginRender(Secure.java)
	at
org.apache.tapestry.internal.structure.ComponentPageElementImpl$11$1.run
(ComponentPageElementImpl.java:338)
	at
org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(C
omponentPageElementImpl.java:874)
	... 98 more

The Secure.java has a @Secured("ROLE_ADMIN") annotation and therefor I
should be granted access to this page.

Anyone have any Idears?

Thanks in advance,
Jacob
-- 
View this message in context:
http://www.nabble.com/T5%3A-Problem-with-login-form-with-Acegi-tp1636429
5p16364295.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org

The information contained in this email is strictly confidential and for the use of the addressee only, unless otherwise indicated. If you are not the intended recipient, please do not read, copy, use or disclose to others this message or any attachment. Please also notify the sender by replying to this email or by telephone (+44 (0)20 7896 0011) and then delete the email and any copies of it. Opinions, conclusions (etc.) that do not relate to the official business of this company shall be understood as neither given nor endorsed by it. IG Index plc is a company registered in England and Wales under number 01190902. VAT registration number 761 2978 07. Registered Office: Friars House, 157-168 Blackfriars Road, London SE1 8EZ. Authorised and regulated by the Financial Services Authority. FSA Register number 114059.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: T5: Problem with login form with Acegi

Posted by Mahen Perera <Ma...@igindex.co.uk>.
Ok. Got ya. Thankx

-----Original Message-----
From: Jonathan Barker [mailto:jonathan.theitguy@gmail.com] 
Sent: 01 April 2008 16:04
To: 'Tapestry users'
Subject: RE: T5: Problem with login form with Acegi


It won't matter.  That's why you use the @Secured("ROLE_ADMIN")
annotation.

At best, an unauthenticated user will have ROLE_ANONYMOUS if the
AnonymousAuthenticationProvider is used.  They will get an AccessDenied
exception.

I'm playing with a little older code that coughs up a hairball when it
hits
one of those exceptions, but I think the newer tapestry5-acegi does the
appropriate redirection to whatever access-denied page you want.  That
could
be the login page.

Jonathan



> -----Original Message-----
> From: Mahen Perera [mailto:Mahen.Perera@igindex.co.uk]
> Sent: Tuesday, April 01, 2008 10:11 AM
> To: Tapestry users
> Subject: RE: T5: Problem with login form with Acegi
> 
> Quick Question:
> How can we avoid the situation where a user tries to directly access
the
> URL corresponding to the page named "Secure" in this case. I mean
> without going thru the login form.
> 
> Thanks
> 
> 
> 
> -----Original Message-----
> From: Jacob Bergoo [mailto:jacob.bergoo@gmail.com]
> Sent: 28 March 2008 23:28
> To: users@tapestry.apache.org
> Subject: T5: Problem with login form with Acegi
> 
> 
> Hi All,
> In my project I use the Tapestry5-Acegi project and made that work
> following
> the example and with some help from the forum, thanks...
> Now I'm trying to make a more realistic version of a login where I can
> control the validation on the login form and also based on user roles
> redirect the user to the right page.
> I have created a page like this:
> public class LoginPage {
> 
> 	/* PRIVATE MEMBERS */
> 	@Persist
> 	private String userName;
> 	private String password;
> 	@Component
> 	private Form form;
> 
> 	/* INJECTED COMPONENTS, SERVICES ETC. */
> 	@Component(id = "password")
> 	private PasswordField passwordField;
> 
> 	@Inject
> 	private AuthenticationManager authenticationManager;
> 
> 	/* GETTERS AND SETTERS */
> 	public String getPassword() {
> 		return password;
> 	}
> 
> 	public void setPassword(String password) {
> 		this.password = password;
> 	}
> 
> 	public String getUserName() {
> 		return userName;
> 	}
> 
> 	public void setUserName(String userName) {
> 		this.userName = userName;
> 	}
> 
> 	/* ACTION METHODS */
> 	protected String onSuccess() {
> 		UsernamePasswordAuthenticationToken authRequest = new
> UsernamePasswordAuthenticationToken(userName, password);
> 		Authentication authResult;
> 
> 		try {
> 			authResult =
> authenticationManager.authenticate(authRequest);
> 			if (!authResult.isAuthenticated()) {
> 				form.recordError(passwordField,
> 						"Invalid user name or
> password.");
> 				return null;
> 			}
> 			GrantedAuthority[] gratedAuthorityArray =
> authResult.getAuthorities();
> 			Set<GrantedAuthority> grantedAuthoritySet = new
> HashSet<GrantedAuthority>();
> 			for (int i = 0; i < gratedAuthorityArray.length;
> i++) {
> 
> grantedAuthoritySet.add(gratedAuthorityArray[i]);
> 				System.out.println("Adding " +
> gratedAuthorityArray[i] + " to set");
> 			}
> 
> 			// DEBUGGING....
> 			System.out.println("successful login for: " +
> userName);
> 			System.out.println("authResult.getCredentials()
> = "	+
> authResult.getCredentials());
> 			System.out.println("authResult.getPrincipal() =
> " +
> authResult.getPrincipal());
> 			System.out.println("authResult.getAuthorities():
> ");
> 			for (int i = 0; i < gratedAuthorityArray.length;
> i++) {
> 				System.out.println("Auth no " + (i + 1)
> + " = '" +
> gratedAuthorityArray[i] + "'");
> 			}
> 			// END DEBUGGING...
> 
> 			if (grantedAuthoritySet.contains("ROLE_ADMIN"))
> {
> 				System.out.println("Redirecting to
> Secure page...");
> 				return "Secure";
> 			} else if
> (grantedAuthoritySet.contains("ROLE_SOME_OTHER_ROLE")) {
> 				System.out.println("redirecting to some
> other page");
> 				return "SOME_OTHER_PAGE";
> 			}
> 
> 		} catch (AuthenticationException
> authenticationException) {
> 			System.out.println("user with username = " +
> userName
> 					+ "couldn't be authenticated
> with Acegi");
> 		}
> 
> 		return null;
> 	}
> 
> }
> 
> In my Jetty Console I can see that I get the Authetication:
> 
> Adding ROLE_ADMIN to set
> Adding ROLE_MANAGER to set
> Adding ROLE_USER to set
> successful login for: jacob
> authResult.getCredentials() = jacob
> authResult.getPrincipal() = UserDetailsBean {
> 	username = jacob
> 	password = jacob
> 	accountNonExpired = true
> 	passwordaccountNonLocked = true
> 	credentialsNonExpired = true
> 	enabled = true
> 	grantedAuthorities {
> 		'ROLE_ADMIN'
> 		'ROLE_MANAGER'
> 		'ROLE_USER'
> 	}
> }
> 
> authResult.getAuthorities():
> Auth no 1 = 'ROLE_ADMIN'
> Auth no 2 = 'ROLE_MANAGER'
> Auth no 3 = 'ROLE_USER'
> [INFO] TimingFilter Request time: 26 ms
> [INFO] TimingFilter Request time: 18 ms
> [INFO] TimingFilter Request time: 2 ms
> 
> but the redirection to the pages doesn't work... and if I change the
> last
> return null; to return "Secure"; then I get this exception instead:
> 
> [ERROR] Secure Render queue error in BeginRender[Secure]: Access is
> denied
> org.apache.tapestry.ioc.internal.util.TapestryException: Access is
> denied
> 	at
>
org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(C
> omponentPageElementImpl.java:884)
> 	at
>
org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$1
> 00(ComponentPageElementImpl.java:54)
> 	at
>
org.apache.tapestry.internal.structure.ComponentPageElementImpl$11.rende
> r(ComponentPageElementImpl.java:342)
> 	at
>
org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImp
> l.java:63)
> 	at
>
org.apache.tapestry.internal.services.PageRenderQueueImpl.render(PageRen
> derQueueImpl.java:84)
> 	at
> $PageRenderQueue_118f7af20ee.render($PageRenderQueue_118f7af20ee.java)
> 	at
> $PageRenderQueue_118f7af20e7.render($PageRenderQueue_118f7af20e7.java)
> 	at
>
org.apache.tapestry.services.TapestryModule$19.renderMarkup(TapestryModu
> le.java:1293)
> 	at
>
org.apache.tapestry.services.TapestryModule$23.renderMarkup(TapestryModu
> le.java:1402)
> 	at
>
$MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
> a)
> 	at
>
org.apache.tapestry.services.TapestryModule$22.renderMarkup(TapestryModu
> le.java:1383)
> 	at
>
$MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
> a)
> 	at
>
org.apache.tapestry.services.TapestryModule$21.renderMarkup(TapestryModu
> le.java:1365)
> 	at
>
$MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
> a)
> 	at
>
org.apache.tapestry.services.TapestryModule$20.renderMarkup(TapestryModu
> le.java:1347)
> 	at
>
$MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
> a)
> 	at
>
$MarkupRenderer_118f7af20ec.renderMarkup($MarkupRenderer_118f7af20ec.jav
> a)
> 	at
>
org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageM
> arkup(PageMarkupRendererImpl.java:55)
> 	at
>
$PageMarkupRenderer_118f7af20ea.renderPageMarkup($PageMarkupRenderer_118
> f7af20ea.java)
> 	at
>
org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPag
> eResponse(PageResponseRendererImpl.java:57)
> 	at
>
$PageResponseRenderer_118f7af20bb.renderPageResponse($PageResponseRender
> er_118f7af20bb.java)
> 	at
>
org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handl
> e(PageRenderRequestHandlerImpl.java:59)
> 	at
>
org.apache.tapestry.services.TapestryModule$29.handle(TapestryModule.jav
> a:1607)
> 	at
>
$PageRenderRequestHandler_118f7af20bc.handle($PageRenderRequestHandler_1
> 18f7af20bc.java)
> 	at
>
$PageRenderRequestHandler_118f7af20b1.handle($PageRenderRequestHandler_1
> 18f7af20b1.java)
> 	at
>
org.apache.tapestry.internal.services.PageRenderDispatcher.process(PageR
> enderDispatcher.java:97)
> 	at
>
org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(Page
> RenderDispatcher.java:73)
> 	at
> $Dispatcher_118f7af20b8.dispatch($Dispatcher_118f7af20b8.java)
> 	at
> $Dispatcher_118f7af20a9.dispatch($Dispatcher_118f7af20a9.java)
> 	at
>
org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.ja
> va:944)
> 	at
> com.bergoo.webshop.services.AppModule$1.service(AppModule.java:94)
> 	at
> $RequestFilter_118f7af20a8.service($RequestFilter_118f7af20a8.java)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
>
org.apache.tapestry.internal.services.LocalizationFilter.service(Localiz
> ationFilter.java:42)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
>
org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.jav
> a:553)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
>
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFi
> lesFilter.java:79)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.RequestFilterWrapper$1.doF
> ilter(RequestFilterWrapper.java:60)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.AcegiExceptionTranslationF
> ilter.doFilter(AcegiExceptionTranslationFilter.java:67)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.RequestFilterWrapper.servi
> ce(RequestFilterWrapper.java:54)
> 	at
> $RequestFilter_118f7af20a4.service($RequestFilter_118f7af20a4.java)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
>
org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.jav
> a:520)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
>
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Che
> ckForUpdatesFilter.java:93)
> 	at
>
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Che
> ckForUpdatesFilter.java:84)
> 	at
>
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(Concurr
> entBarrier.java:77)
> 	at
>
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(Chec
> kForUpdatesFilter.java:106)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
> $RequestHandler_118f7af209e.service($RequestHandler_118f7af209e.java)
> 	at
>
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.ja
> va:924)
> 	at
>
org.apache.tapestry.internal.services.IgnoredPathsFilter.service(Ignored
> PathsFilter.java:62)
> 	at
>
$HttpServletRequestFilter_118f7af209d.service($HttpServletRequestFilter_
> 118f7af209d.java)
> 	at
>
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
>
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter
> (AnonymousProcessingFilter.java:125)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
>
$HttpServletRequestFilter_118f7af209c.service($HttpServletRequestFilter_
> 118f7af209c.java)
> 	at
>
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
>
org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilt
> er(SecurityContextHolderAwareRequestFilter.java:81)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
>
$HttpServletRequestFilter_118f7af209b.service($HttpServletRequestFilter_
> 118f7af209b.java)
> 	at
>
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
>
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(Reme
> mberMeProcessingFilter.java:135)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
>
$HttpServletRequestFilter_118f7af209a.service($HttpServletRequestFilter_
> 118f7af209a.java)
> 	at
>
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
>
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessin
> gFilter.java:271)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
>
$HttpServletRequestFilter_118f7af2099.service($HttpServletRequestFilter_
> 118f7af2099.java)
> 	at
>
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
>
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(H
> ttpSessionContextIntegrationFilter.java:249)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
>
$HttpServletRequestFilter_118f7af2098.service($HttpServletRequestFilter_
> 118f7af2098.java)
> 	at
>
$HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
>
$HttpServletRequestHandler_118f7af2097.service($HttpServletRequestHandle
> r_118f7af2097.java)
> 	at
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:168)
> 	at
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(Web
> ApplicationHandler.java:821)
> 	at
>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFil
> terInternal(OpenSessionInViewFilter.java:198)
> 	at
>
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequ
> estFilter.java:75)
> 	at
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(Web
> ApplicationHandler.java:821)
> 	at
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH
> andler.java:471)
> 	at
>
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> 	at
>
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
> text.java:633)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> 	at
> org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
> 	at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
> 	at
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
> 	at
>
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245
> )
> 	at
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
> 	at
> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> Caused by: org.acegisecurity.AccessDeniedException: Access is denied
> 	at
>
org.acegisecurity.vote.AffirmativeBased.decide(AffirmativeBased.java:68)
> 	at
>
$AccessDecisionManager_118f7af2115.decide($AccessDecisionManager_118f7af
> 2115.java)
> 	at
>
org.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation
> (AbstractSecurityInterceptor.java:323)
> 	at
>
nu.localhost.tapestry.acegi.services.internal.StaticSecurityChecker.chec
> kBefore(StaticSecurityChecker.java:43)
> 	at
>
$SecurityChecker_118f7af20ce.checkBefore($SecurityChecker_118f7af20ce.ja
> va)
> 	at com.bergoo.webshop.pages.Secure.beginRender(Secure.java)
> 	at
>
org.apache.tapestry.internal.structure.ComponentPageElementImpl$11$1.run
> (ComponentPageElementImpl.java:338)
> 	at
>
org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(C
> omponentPageElementImpl.java:874)
> 	... 98 more
> 
> The Secure.java has a @Secured("ROLE_ADMIN") annotation and therefor I
> should be granted access to this page.
> 
> Anyone have any Idears?
> 
> Thanks in advance,
> Jacob
> --
> View this message in context:
>
http://www.nabble.com/T5%3A-Problem-with-login-form-with-Acegi-tp1636429
> 5p16364295.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 
> The information contained in this email is strictly confidential and
for
> the use of the addressee only, unless otherwise indicated. If you are
not
> the intended recipient, please do not read, copy, use or disclose to
> others this message or any attachment. Please also notify the sender
by
> replying to this email or by telephone (+44 (0)20 7896 0011) and then
> delete the email and any copies of it. Opinions, conclusions (etc.)
that
> do not relate to the official business of this company shall be
understood
> as neither given nor endorsed by it. IG Index plc is a company
registered
> in England and Wales under number 01190902. VAT registration number
761
> 2978 07. Registered Office: Friars House, 157-168 Blackfriars Road,
London
> SE1 8EZ. Authorised and regulated by the Financial Services Authority.
FSA
> Register number 114059.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org

The information contained in this email is strictly confidential and for the use of the addressee only, unless otherwise indicated. If you are not the intended recipient, please do not read, copy, use or disclose to others this message or any attachment. Please also notify the sender by replying to this email or by telephone (+44 (0)20 7896 0011) and then delete the email and any copies of it. Opinions, conclusions (etc.) that do not relate to the official business of this company shall be understood as neither given nor endorsed by it. IG Index plc is a company registered in England and Wales under number 01190902. VAT registration number 761 2978 07. Registered Office: Friars House, 157-168 Blackfriars Road, London SE1 8EZ. Authorised and regulated by the Financial Services Authority. FSA Register number 114059.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: T5: Problem with login form with Acegi

Posted by Jonathan Barker <jo...@gmail.com>.
It won't matter.  That's why you use the @Secured("ROLE_ADMIN") annotation.

At best, an unauthenticated user will have ROLE_ANONYMOUS if the
AnonymousAuthenticationProvider is used.  They will get an AccessDenied
exception.

I'm playing with a little older code that coughs up a hairball when it hits
one of those exceptions, but I think the newer tapestry5-acegi does the
appropriate redirection to whatever access-denied page you want.  That could
be the login page.

Jonathan



> -----Original Message-----
> From: Mahen Perera [mailto:Mahen.Perera@igindex.co.uk]
> Sent: Tuesday, April 01, 2008 10:11 AM
> To: Tapestry users
> Subject: RE: T5: Problem with login form with Acegi
> 
> Quick Question:
> How can we avoid the situation where a user tries to directly access the
> URL corresponding to the page named "Secure" in this case. I mean
> without going thru the login form.
> 
> Thanks
> 
> 
> 
> -----Original Message-----
> From: Jacob Bergoo [mailto:jacob.bergoo@gmail.com]
> Sent: 28 March 2008 23:28
> To: users@tapestry.apache.org
> Subject: T5: Problem with login form with Acegi
> 
> 
> Hi All,
> In my project I use the Tapestry5-Acegi project and made that work
> following
> the example and with some help from the forum, thanks...
> Now I'm trying to make a more realistic version of a login where I can
> control the validation on the login form and also based on user roles
> redirect the user to the right page.
> I have created a page like this:
> public class LoginPage {
> 
> 	/* PRIVATE MEMBERS */
> 	@Persist
> 	private String userName;
> 	private String password;
> 	@Component
> 	private Form form;
> 
> 	/* INJECTED COMPONENTS, SERVICES ETC. */
> 	@Component(id = "password")
> 	private PasswordField passwordField;
> 
> 	@Inject
> 	private AuthenticationManager authenticationManager;
> 
> 	/* GETTERS AND SETTERS */
> 	public String getPassword() {
> 		return password;
> 	}
> 
> 	public void setPassword(String password) {
> 		this.password = password;
> 	}
> 
> 	public String getUserName() {
> 		return userName;
> 	}
> 
> 	public void setUserName(String userName) {
> 		this.userName = userName;
> 	}
> 
> 	/* ACTION METHODS */
> 	protected String onSuccess() {
> 		UsernamePasswordAuthenticationToken authRequest = new
> UsernamePasswordAuthenticationToken(userName, password);
> 		Authentication authResult;
> 
> 		try {
> 			authResult =
> authenticationManager.authenticate(authRequest);
> 			if (!authResult.isAuthenticated()) {
> 				form.recordError(passwordField,
> 						"Invalid user name or
> password.");
> 				return null;
> 			}
> 			GrantedAuthority[] gratedAuthorityArray =
> authResult.getAuthorities();
> 			Set<GrantedAuthority> grantedAuthoritySet = new
> HashSet<GrantedAuthority>();
> 			for (int i = 0; i < gratedAuthorityArray.length;
> i++) {
> 
> grantedAuthoritySet.add(gratedAuthorityArray[i]);
> 				System.out.println("Adding " +
> gratedAuthorityArray[i] + " to set");
> 			}
> 
> 			// DEBUGGING....
> 			System.out.println("successful login for: " +
> userName);
> 			System.out.println("authResult.getCredentials()
> = "	+
> authResult.getCredentials());
> 			System.out.println("authResult.getPrincipal() =
> " +
> authResult.getPrincipal());
> 			System.out.println("authResult.getAuthorities():
> ");
> 			for (int i = 0; i < gratedAuthorityArray.length;
> i++) {
> 				System.out.println("Auth no " + (i + 1)
> + " = '" +
> gratedAuthorityArray[i] + "'");
> 			}
> 			// END DEBUGGING...
> 
> 			if (grantedAuthoritySet.contains("ROLE_ADMIN"))
> {
> 				System.out.println("Redirecting to
> Secure page...");
> 				return "Secure";
> 			} else if
> (grantedAuthoritySet.contains("ROLE_SOME_OTHER_ROLE")) {
> 				System.out.println("redirecting to some
> other page");
> 				return "SOME_OTHER_PAGE";
> 			}
> 
> 		} catch (AuthenticationException
> authenticationException) {
> 			System.out.println("user with username = " +
> userName
> 					+ "couldn't be authenticated
> with Acegi");
> 		}
> 
> 		return null;
> 	}
> 
> }
> 
> In my Jetty Console I can see that I get the Authetication:
> 
> Adding ROLE_ADMIN to set
> Adding ROLE_MANAGER to set
> Adding ROLE_USER to set
> successful login for: jacob
> authResult.getCredentials() = jacob
> authResult.getPrincipal() = UserDetailsBean {
> 	username = jacob
> 	password = jacob
> 	accountNonExpired = true
> 	passwordaccountNonLocked = true
> 	credentialsNonExpired = true
> 	enabled = true
> 	grantedAuthorities {
> 		'ROLE_ADMIN'
> 		'ROLE_MANAGER'
> 		'ROLE_USER'
> 	}
> }
> 
> authResult.getAuthorities():
> Auth no 1 = 'ROLE_ADMIN'
> Auth no 2 = 'ROLE_MANAGER'
> Auth no 3 = 'ROLE_USER'
> [INFO] TimingFilter Request time: 26 ms
> [INFO] TimingFilter Request time: 18 ms
> [INFO] TimingFilter Request time: 2 ms
> 
> but the redirection to the pages doesn't work... and if I change the
> last
> return null; to return "Secure"; then I get this exception instead:
> 
> [ERROR] Secure Render queue error in BeginRender[Secure]: Access is
> denied
> org.apache.tapestry.ioc.internal.util.TapestryException: Access is
> denied
> 	at
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(C
> omponentPageElementImpl.java:884)
> 	at
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$1
> 00(ComponentPageElementImpl.java:54)
> 	at
> org.apache.tapestry.internal.structure.ComponentPageElementImpl$11.rende
> r(ComponentPageElementImpl.java:342)
> 	at
> org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImp
> l.java:63)
> 	at
> org.apache.tapestry.internal.services.PageRenderQueueImpl.render(PageRen
> derQueueImpl.java:84)
> 	at
> $PageRenderQueue_118f7af20ee.render($PageRenderQueue_118f7af20ee.java)
> 	at
> $PageRenderQueue_118f7af20e7.render($PageRenderQueue_118f7af20e7.java)
> 	at
> org.apache.tapestry.services.TapestryModule$19.renderMarkup(TapestryModu
> le.java:1293)
> 	at
> org.apache.tapestry.services.TapestryModule$23.renderMarkup(TapestryModu
> le.java:1402)
> 	at
> $MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
> a)
> 	at
> org.apache.tapestry.services.TapestryModule$22.renderMarkup(TapestryModu
> le.java:1383)
> 	at
> $MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
> a)
> 	at
> org.apache.tapestry.services.TapestryModule$21.renderMarkup(TapestryModu
> le.java:1365)
> 	at
> $MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
> a)
> 	at
> org.apache.tapestry.services.TapestryModule$20.renderMarkup(TapestryModu
> le.java:1347)
> 	at
> $MarkupRenderer_118f7af20f2.renderMarkup($MarkupRenderer_118f7af20f2.jav
> a)
> 	at
> $MarkupRenderer_118f7af20ec.renderMarkup($MarkupRenderer_118f7af20ec.jav
> a)
> 	at
> org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageM
> arkup(PageMarkupRendererImpl.java:55)
> 	at
> $PageMarkupRenderer_118f7af20ea.renderPageMarkup($PageMarkupRenderer_118
> f7af20ea.java)
> 	at
> org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPag
> eResponse(PageResponseRendererImpl.java:57)
> 	at
> $PageResponseRenderer_118f7af20bb.renderPageResponse($PageResponseRender
> er_118f7af20bb.java)
> 	at
> org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handl
> e(PageRenderRequestHandlerImpl.java:59)
> 	at
> org.apache.tapestry.services.TapestryModule$29.handle(TapestryModule.jav
> a:1607)
> 	at
> $PageRenderRequestHandler_118f7af20bc.handle($PageRenderRequestHandler_1
> 18f7af20bc.java)
> 	at
> $PageRenderRequestHandler_118f7af20b1.handle($PageRenderRequestHandler_1
> 18f7af20b1.java)
> 	at
> org.apache.tapestry.internal.services.PageRenderDispatcher.process(PageR
> enderDispatcher.java:97)
> 	at
> org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(Page
> RenderDispatcher.java:73)
> 	at
> $Dispatcher_118f7af20b8.dispatch($Dispatcher_118f7af20b8.java)
> 	at
> $Dispatcher_118f7af20a9.dispatch($Dispatcher_118f7af20a9.java)
> 	at
> org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.ja
> va:944)
> 	at
> com.bergoo.webshop.services.AppModule$1.service(AppModule.java:94)
> 	at
> $RequestFilter_118f7af20a8.service($RequestFilter_118f7af20a8.java)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
> org.apache.tapestry.internal.services.LocalizationFilter.service(Localiz
> ationFilter.java:42)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
> org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.jav
> a:553)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
> org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFi
> lesFilter.java:79)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
> nu.localhost.tapestry.acegi.services.internal.RequestFilterWrapper$1.doF
> ilter(RequestFilterWrapper.java:60)
> 	at
> nu.localhost.tapestry.acegi.services.internal.AcegiExceptionTranslationF
> ilter.doFilter(AcegiExceptionTranslationFilter.java:67)
> 	at
> nu.localhost.tapestry.acegi.services.internal.RequestFilterWrapper.servi
> ce(RequestFilterWrapper.java:54)
> 	at
> $RequestFilter_118f7af20a4.service($RequestFilter_118f7af20a4.java)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
> org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.jav
> a:520)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Che
> ckForUpdatesFilter.java:93)
> 	at
> org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(Che
> ckForUpdatesFilter.java:84)
> 	at
> org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(Concurr
> entBarrier.java:77)
> 	at
> org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(Chec
> kForUpdatesFilter.java:106)
> 	at
> $RequestHandler_118f7af20aa.service($RequestHandler_118f7af20aa.java)
> 	at
> $RequestHandler_118f7af209e.service($RequestHandler_118f7af209e.java)
> 	at
> org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.ja
> va:924)
> 	at
> org.apache.tapestry.internal.services.IgnoredPathsFilter.service(Ignored
> PathsFilter.java:62)
> 	at
> $HttpServletRequestFilter_118f7af209d.service($HttpServletRequestFilter_
> 118f7af209d.java)
> 	at
> $HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter
> (AnonymousProcessingFilter.java:125)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
> $HttpServletRequestFilter_118f7af209c.service($HttpServletRequestFilter_
> 118f7af209c.java)
> 	at
> $HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
> org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilt
> er(SecurityContextHolderAwareRequestFilter.java:81)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
> $HttpServletRequestFilter_118f7af209b.service($HttpServletRequestFilter_
> 118f7af209b.java)
> 	at
> $HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(Reme
> mberMeProcessingFilter.java:135)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
> $HttpServletRequestFilter_118f7af209a.service($HttpServletRequestFilter_
> 118f7af209a.java)
> 	at
> $HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessin
> gFilter.java:271)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
> $HttpServletRequestFilter_118f7af2099.service($HttpServletRequestFilter_
> 118f7af2099.java)
> 	at
> $HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper$1.doFilter(HttpServletRequestFilterWrapper.java:57)
> 	at
> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(H
> ttpSessionContextIntegrationFilter.java:249)
> 	at
> nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWr
> apper.service(HttpServletRequestFilterWrapper.java:52)
> 	at
> $HttpServletRequestFilter_118f7af2098.service($HttpServletRequestFilter_
> 118f7af2098.java)
> 	at
> $HttpServletRequestHandler_118f7af209f.service($HttpServletRequestHandle
> r_118f7af209f.java)
> 	at
> $HttpServletRequestHandler_118f7af2097.service($HttpServletRequestHandle
> r_118f7af2097.java)
> 	at
> org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:168)
> 	at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(Web
> ApplicationHandler.java:821)
> 	at
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFil
> terInternal(OpenSessionInViewFilter.java:198)
> 	at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequ
> estFilter.java:75)
> 	at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(Web
> ApplicationHandler.java:821)
> 	at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH
> andler.java:471)
> 	at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> 	at
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
> text.java:633)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> 	at
> org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
> 	at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
> 	at
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
> 	at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245
> )
> 	at
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
> 	at
> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> Caused by: org.acegisecurity.AccessDeniedException: Access is denied
> 	at
> org.acegisecurity.vote.AffirmativeBased.decide(AffirmativeBased.java:68)
> 	at
> $AccessDecisionManager_118f7af2115.decide($AccessDecisionManager_118f7af
> 2115.java)
> 	at
> org.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation
> (AbstractSecurityInterceptor.java:323)
> 	at
> nu.localhost.tapestry.acegi.services.internal.StaticSecurityChecker.chec
> kBefore(StaticSecurityChecker.java:43)
> 	at
> $SecurityChecker_118f7af20ce.checkBefore($SecurityChecker_118f7af20ce.ja
> va)
> 	at com.bergoo.webshop.pages.Secure.beginRender(Secure.java)
> 	at
> org.apache.tapestry.internal.structure.ComponentPageElementImpl$11$1.run
> (ComponentPageElementImpl.java:338)
> 	at
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(C
> omponentPageElementImpl.java:874)
> 	... 98 more
> 
> The Secure.java has a @Secured("ROLE_ADMIN") annotation and therefor I
> should be granted access to this page.
> 
> Anyone have any Idears?
> 
> Thanks in advance,
> Jacob
> --
> View this message in context:
> http://www.nabble.com/T5%3A-Problem-with-login-form-with-Acegi-tp1636429
> 5p16364295.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 
> The information contained in this email is strictly confidential and for
> the use of the addressee only, unless otherwise indicated. If you are not
> the intended recipient, please do not read, copy, use or disclose to
> others this message or any attachment. Please also notify the sender by
> replying to this email or by telephone (+44 (0)20 7896 0011) and then
> delete the email and any copies of it. Opinions, conclusions (etc.) that
> do not relate to the official business of this company shall be understood
> as neither given nor endorsed by it. IG Index plc is a company registered
> in England and Wales under number 01190902. VAT registration number 761
> 2978 07. Registered Office: Friars House, 157-168 Blackfriars Road, London
> SE1 8EZ. Authorised and regulated by the Financial Services Authority. FSA
> Register number 114059.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org