First , thanks for replying..I hope you are able to solve my problem
............................
I am using form based authentication.
Essentially the username and password is grabbed via HTML form.heres the code
for my .vm template.
******************login.vm**************************************
| <form action="/megs/logincheck.action?view=overview" method="post">
| <table>
| <tr class="trCaption>
| <td color="white">UserName :</td>
| <input type="text" name="user" size="12"/>
| </tr>
| <tr class="trCaption>
| <td color="white">Password :</td>
| <input type="password" name="password" size="12"/>
| </tr>
| <tr>
| <td>
| <input type="submit" value="Login"/>
| </td>
| </tr>
| </table>
| </form>
|
************************************************************
On submit, this calls the Servlet LoginCheckAction which loads the loginmodules
via LoginContext and performs authentication as shown below:
*******************LoginCheckAction.java***************
| public class LogincheckAction extends ActionSupport
| {..............
| ..........................
| ......................
| static class AppCallbackHandler implements CallbackHandler
| {
| private String uname;
| private char[] pass;
|
| public AppCallbackHandler(String uname, char[] pass)
| {
| System.out.println("The username is: " + uname);
| System.out.println("The password is: " + pass);
| this.uname = uname;
| this.pass = pass;
| }
|
| public void handle(Callback[] callbacks) throws
| java.io.IOException, UnsupportedCallbackException
| {
| for (int i = 0; i < callbacks.length; i++)
| {
| if (callbacks instanceof NameCallback)
| {
| NameCallback nc = (NameCallback) callbacks;
| nc.setName(uname);
| }
| else if (callbacks instanceof PasswordCallback)
| {
| PasswordCallback pc = (PasswordCallback) callbacks;
| pc.setPassword(pass);
| }
| else
| {
| throw new UnsupportedCallbackException(callbacks,
"Unrecognized Callback");
| }
| }
| }
| }
|
| public String execute() throws Exception
| {
| char[] passwordarray = getPassword().toCharArray();
| try
| {
| AppCallbackHandler handler = new
| AppCallbackHandler(getUser(), passwordarray);
| lc = new LoginContext("megs", handler);
| System.out.println("Created LoginContext");
| lc.login();
|
|
| }
| catch (FailedLoginException le)
| {
| System.out.println("Login failed for Username :" + getUser());
| System.out.println("Please check your username and password");
| return "accessdenied";
| }
| System.out.println("LoginCheckAction executed"); //This is printed
|
| HttpServletResponse response = ServletActionContext.getResponse();
| response.sendRedirect("/megs/overview.action?view=overview");
|
| return SUCCESS;
| }
|
|
| .................
| ..................................
|
****************************************************************
This executes properly as the last line is printed, so I am sure the login
succeeds, after that there is a redirect to the next servlet
OverviewAction.java which is where the problem occurs..
*********************OverviewAction.java******************
| ....................
| ...................................
| public String execute() throws Exception
| {
| ActionContext.getContext().getApplication().put("view", view);
| ActionContext.getContext().getApplication().put("submenu", "");
| System.out.println("The view in overviewaction is:" + view);
|
| //EXCEPTION IS THROWN AT THIS LINE
| setRegions(BeanUtil.getRegion().getRegionDevices());
| ..................
| .............
| }
| ...............
| ...................................
|
*************************************************************
The exception is thrown when the OverviewAction Servlet tries to call the
create method of the Region Bean.. :(
And here is my web.xml, I am not very sure if I have it configured correctly,
Maybe the problem lies in that.
It does include the login-config information. I tired using both BASIC and
FORM, doesnt make any difference though
|
|
| *****************************web.xml**********************
| <web-app>
| <display-name>Enterprise Management Console</display-name>
| ..........................................
| ......................................................
| ......................................................
| <servlet>
| <servlet-name>admin</servlet-name>
| <servlet-class>
| com.megs.management.servlets.AdminAction
| </servlet-class>
| </servlet>
|
| <servlet>
| <servlet-name>overview</servlet-name>
| <servlet-class>
| com.megs.management.servlets.OverviewAction
| </servlet-class>
| </servlet>
|
| <servlet>
| <servlet-name>logincheck</servlet-name>
| <servlet-class>
| com.megs.management.servlets.LoginCheckAction
| </servlet-class>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>logincheck</servlet-name>
| <url-pattern>/restricted/logincheck</url-pattern>
| </servlet-mapping>
|
| <servlet-mapping>
| <servlet-name>overview</servlet-name>
| <url-pattern>/restricted/overview</url-pattern>
| </servlet-mapping>
|
| <servlet-mapping>
| <servlet-name>admin</servlet-name>
| <url-pattern>/restricted/admin</url-pattern>
| </servlet-mapping>
|
| <security-constraint>
| <web-resource-collection>
| <web-resource-name>Secure Access</web-resource-name>
| <url-pattern>/restricted/*</url-pattern>
| <http-method>HEAD</http-method>
| <http-method>GET</http-method>
| <http-method>POST</http-method>
| <http-method>PUT</http-method>
| <http-method>DELETE</http-method>
| </web-resource-collection>
| <auth-constraint>
| <role-name>ManageUsers</role-name>
| </auth-constraint>
| <user-data-constraint>
| <description>no description</description>
| <transport-guarantee>NONE</transport-guarantee>
| </user-data-constraint>
| </security-constraint>
|
| <login-config>
| <auth-method>FORM</auth-method>
| <realm-name>megs</realm-name>
| </login-config>
|
| <security-role>
| <description>The role required to access restricted
content</description>
| <role-name>ManageUsers</role-name>
| </security-role>
|
| .......................................................
| ......................................
|
********************************************************
AM I missing some information here :(?? or do I have it configured wrong?/ If
you need anymore information , please let me know.
I hope you can spot where I am going wrong.
Thanks again.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3899878#3899878
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3899878
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user