my dog learned polymorphism*
The moose likes JForum and the fly likes How to programmatically login to JForum using Crowd Authentication Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Products » JForum
Bookmark "How to programmatically login to JForum using Crowd Authentication" Watch "How to programmatically login to JForum using Crowd Authentication" New topic
Author

How to programmatically login to JForum using Crowd Authentication

Migrated From Jforum.net
Ranch Hand

Joined: Apr 22, 2012
Posts: 17424
Hello again,

I want to programmatically login to JForum. But when logging in to JForum you are authenticated against Crowd database and not against JForum database.

I don't know if this is an additional difficulty to overcome?

I have tried a numerous amount of things (including searching this entire forum for anything related to login to JForum and offcourse google). Nothing actually worked...

I have replied in some of the topics I found while searching here, but no answer so far

So I thought, maybe a new topic with all the specifics of my problem would be a better solution than answering and asking questions in several different topics.

Let me show you the code I have for the moment:




What I think that is needed to be done is the following:

You first need to find the correct url to login to JForum. That is afaik " http://localhost:8080/jforum/user/login.page "



If you have that URL you can create a PostMethod with this url as parameter.

As you are trying to login you need to add some parameters (i.e. username and password) so this data can be filled in in the form.

This happens as follows:



Now, when you execute this code:



You would expect to be logged in. I don't know if it's true or not, as I don't know how to test this.


What I do know is that after executing all of this code and I go take a look at my rendered page. I can see the login page (but not being logged in). When I hover over the login button, I can see in the url description a sessionId has been added.

The way to retrieve this sessionId is as follows:




I think the next step would be to add this sessionId to the back of the url you want to Post so that when the postmethod with the new url is executed JForum will know you've successfully identified before and therefore have permission to perform the action described in the url.



When I do this I get statuscode 302: Method has been Temporarily moved.

The reason I think I'm getting this is because to execute that method you really need to be logged in and not just logged in, you need to have admin rights. When I redirect I get to the login page, but this time in my address bar I can see the actual JForum login link whereas before I saw the link of my application trying to execute this code.

after redirect: http://localhost:8080/jforum/...

application link: http://localost:8080/jforumconfigurator-1.0-SNAPSHOT/ThreadServlet


Anyone who might be able to tell me what I'm doing wrong?
[originally posted on jforum.net by jeetn]
Migrated From Jforum.net
Ranch Hand

Joined: Apr 22, 2012
Posts: 17424
just a shot in the dark:

from the point of sso mechanisms, theres two parts - one is the authentication, one is the revalidation.

I havent looked at the jfroum code in a while so I dont know exactly the mechanisms. But I'd think that in your case it authenticates, but when you access the page again it would check if you are still a valid user, and in this case it'd return false (i.e. at each call to the forum it'd check if you are a valid user).

Having a look at the code would be a good start probably, especially when it comes to the authentication code (authenticateUser Method i think).

Another workaround to this generally would be using the jforum built in sso mechanisms (by writing your own sso class). The crowd authentication would be used ,and if valid, a cookie or whatever could be generated, that'd be used to authenticate the user to the forum. There should be heaps of information and even implementation examples throughout the forum for this.
[originally posted on jforum.net by Sid]
Migrated From Jforum.net
Ranch Hand

Joined: Apr 22, 2012
Posts: 17424
Hi,

Just to inform everyone that it worked for me

This is my final code:



What you need to do is add every parameter you find on the page that has a value. So every input field with a value needs to be added to the method. This only if you want to login!

After that just keep using the cookie to do whatever you want
[originally posted on jforum.net by jeetn]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How to programmatically login to JForum using Crowd Authentication
 
Similar Threads
Get ServletContext of a web app hosted in another server
Create new topic via an application ... whats the best way to do it
Reg Manual Creation of new Topics -
Need help to create Categories in JForum
Auto-submit a form on a jsp page