KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > SRPLoginTest


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2005, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package org.jboss.test;
23
24 import java.net.URL JavaDoc;
25 import javax.security.auth.Subject JavaDoc;
26 import javax.security.auth.callback.CallbackHandler JavaDoc;
27 import javax.security.auth.login.LoginContext JavaDoc;
28 import javax.security.auth.login.LoginException JavaDoc;
29
30 import org.jboss.security.auth.callback.UsernamePasswordHandler;
31
32 /** A test of the SRPLogin module
33
34 @see org.jboss.security.srp.jaas.SRPLoginModule
35
36 @author Scott.Stark@jboss.org
37 @version $Revision: 40096 $
38 */

39 public class SRPLoginTest extends junit.framework.TestCase
40 {
41     public SRPLoginTest(String JavaDoc name)
42     {
43         super(name);
44     }
45
46     /** Create a SecurityPolicy from a xml policy file and install it as the
47         JAAS Policy and Configuration implementations.
48     */

49     protected void setUp() throws Exception JavaDoc
50     {
51         // Create a subject security policy
52
String JavaDoc policyName = "tst-policy.xml";
53         URL JavaDoc policyURL = getClass().getClassLoader().getResource(policyName);
54         if( policyURL == null )
55             throw new IllegalStateException JavaDoc("Failed to find "+policyName+" in classpath");
56        /*
57         SecurityPolicyParser policyStore = new SecurityPolicyParser(policyURL);
58         SecurityPolicy policy = new SecurityPolicy(policyStore);
59         policy.refresh();
60         Policy.setPolicy(policy);
61         Configuration.setConfiguration(policy.getLoginConfiguration());
62         */

63     }
64
65     public void testLogin()
66     {
67         CallbackHandler JavaDoc handler = new UsernamePasswordHandler("scott", "stark".toCharArray());
68         try
69         {
70             LoginContext JavaDoc lc = new LoginContext JavaDoc("srp-login", handler);
71             lc.login();
72             Subject JavaDoc subject = lc.getSubject();
73             System.out.println("Subject="+subject);
74         }
75         catch(LoginException JavaDoc e)
76         {
77             e.printStackTrace();
78             fail(e.getMessage());
79         }
80     }
81
82     public static void main(String JavaDoc args[])
83     {
84         try
85         {
86             SRPLoginTest tst = new SRPLoginTest("main");
87             tst.setUp();
88         }
89         catch(Exception JavaDoc e)
90         {
91             e.printStackTrace(System.out);
92         }
93     }
94 }
95
Popular Tags