KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > web > tomcat > security > AllRolesMode


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
23 package org.jboss.web.tomcat.security;
24
25 /**
26  * An enum for the mode for handling the role-name=* security authorization
27  * mode.
28  *
29  * @author Scott.Stark@jboss.org
30  * @version $Revision: 42445 $
31  */

32 public class AllRolesMode
33 {
34    private String JavaDoc name;
35    /** Use the strict servlet spec interpretation which requires that the user
36     * have one of the web-app/security-role/role-name
37     */

38    public static final AllRolesMode STRICT_MODE = new AllRolesMode("strict");
39    /** Allow any authenticated user
40     */

41    public static final AllRolesMode AUTH_ONLY_MODE = new AllRolesMode("authOnly");
42    /** Allow any authenticated user only if there are no web-app/security-roles
43     */

44    public static final AllRolesMode STRICT_AUTH_ONLY_MODE = new AllRolesMode("strictAuthOnly");
45
46    static AllRolesMode toMode(String JavaDoc name)
47    {
48       AllRolesMode mode;
49       if( name.equalsIgnoreCase(STRICT_MODE.name) )
50          mode = STRICT_MODE;
51       else if( name.equalsIgnoreCase(AUTH_ONLY_MODE.name) )
52          mode = AUTH_ONLY_MODE;
53       else if( name.equalsIgnoreCase(STRICT_AUTH_ONLY_MODE.name) )
54          mode = STRICT_AUTH_ONLY_MODE;
55       else
56          throw new IllegalStateException JavaDoc("Unknown mode, must be one of: strict, authOnly, strictAuthOnly");
57       return mode;
58    }
59
60    private AllRolesMode(String JavaDoc name)
61    {
62       this.name = name;
63    }
64
65    public boolean equals(Object JavaDoc o)
66    {
67       boolean equals = false;
68       if( o instanceof AllRolesMode )
69       {
70          AllRolesMode mode = (AllRolesMode) o;
71          equals = name.equals(mode.name);
72       }
73       return equals;
74    }
75    public int hashCode()
76    {
77       return name.hashCode();
78    }
79    public String JavaDoc toString()
80    {
81       return "AllRolesMode("+name+")";
82    }
83 }
84
Popular Tags