Change to Apache License version 2.0.

This commit is contained in:
Ben Alex
2004-03-23 04:44:48 +00:00
parent 3a72fc6bb9
commit c3507b26c9
114 changed files with 1745 additions and 690 deletions

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;
@@ -42,19 +50,19 @@ public class ContactManagerBackend implements ContactManager {
public ContactManagerBackend() {
this.contacts = new HashMap();
save(new Contact(this.getNextId(), "John Smith", "john@somewhere.com",
"marissa"));
"marissa"));
save(new Contact(this.getNextId(), "Michael Citizen",
"michael@xyz.com", "marissa"));
"michael@xyz.com", "marissa"));
save(new Contact(this.getNextId(), "Joe Bloggs", "joe@demo.com",
"marissa"));
"marissa"));
save(new Contact(this.getNextId(), "Karen Sutherland",
"karen@sutherland.com", "dianne"));
"karen@sutherland.com", "dianne"));
save(new Contact(this.getNextId(), "Mitchell Howard",
"mitchell@abcdef.com", "dianne"));
"mitchell@abcdef.com", "dianne"));
save(new Contact(this.getNextId(), "Rose Costas", "rose@xyz.com",
"scott"));
"scott"));
save(new Contact(this.getNextId(), "Amanda Smith", "amanda@abcdef.com",
"scott"));
"scott"));
}
//~ Methods ================================================================
@@ -80,7 +88,7 @@ public class ContactManagerBackend implements ContactManager {
}
Contact[] resultType = {new Contact(new Integer(1), "holder", "holder",
"holder")};
"holder")};
if (list.size() == 0) {
return null;

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;
@@ -78,12 +86,13 @@ public class ContactManagerFacade implements ContactManager, InitializingBean {
public Contact getById(Integer id) {
Contact result = backend.getById(id);
Authentication auth = ((SecureContext) ContextHolder.getContext())
.getAuthentication();
.getAuthentication();
if (auth.getPrincipal().toString().equals(result.getOwner())) {
return result;
} else {
throw new AccessDeniedException("The requested id is not owned by the currently logged in user");
throw new AccessDeniedException(
"The requested id is not owned by the currently logged in user");
}
}
@@ -107,7 +116,8 @@ public class ContactManagerFacade implements ContactManager, InitializingBean {
public void afterPropertiesSet() throws Exception {
if (backend == null) {
throw new IllegalArgumentException("A backend ContactManager implementation is required");
throw new IllegalArgumentException(
"A backend ContactManager implementation is required");
}
}

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;
@@ -48,7 +56,7 @@ public class ContactSecurityVoter implements AccessDecisionVoter {
}
public int vote(Authentication authentication, MethodInvocation invocation,
ConfigAttributeDefinition config) {
ConfigAttributeDefinition config) {
int result = ACCESS_ABSTAIN;
Iterator iter = config.getConfigAttributes();
@@ -68,14 +76,14 @@ public class ContactSecurityVoter implements AccessDecisionVoter {
passedOwner = (String) invocation.getArgument(i);
} else if (Contact.class.isAssignableFrom(argClass)) {
passedOwner = ((Contact) invocation.getArgument(i))
.getOwner();
.getOwner();
}
}
if (passedOwner != null) {
// Check the authentication principal matches the passed owner
if (passedOwner.equals(authentication.getPrincipal()
.toString())) {
.toString())) {
return ACCESS_GRANTED;
}
}

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;
@@ -42,13 +50,13 @@ public class DeleteController implements Controller, InitializingBean {
public void afterPropertiesSet() throws Exception {
if (contactManager == null) {
throw new IllegalArgumentException("A ContactManager implementation is required");
throw new IllegalArgumentException(
"A ContactManager implementation is required");
}
}
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
HttpServletResponse response) throws ServletException, IOException {
Integer id = new Integer(request.getParameter("id"));
Contact contact = contactManager.getById(id);
contactManager.delete(contact);

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;
@@ -42,13 +50,13 @@ public class PublicIndexController implements Controller, InitializingBean {
public void afterPropertiesSet() throws Exception {
if (contactManager == null) {
throw new IllegalArgumentException("A ContactManager implementation is required");
throw new IllegalArgumentException(
"A ContactManager implementation is required");
}
}
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
HttpServletResponse response) throws ServletException, IOException {
Contact rnd = contactManager.getRandomContact();
return new ModelAndView("hello", "contact", rnd);

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;
@@ -50,15 +58,15 @@ public class SecureIndexController implements Controller, InitializingBean {
public void afterPropertiesSet() throws Exception {
if (contactManager == null) {
throw new IllegalArgumentException("A ContactManager implementation is required");
throw new IllegalArgumentException(
"A ContactManager implementation is required");
}
}
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
HttpServletResponse response) throws ServletException, IOException {
Authentication currentUser = ((SecureContext) ContextHolder.getContext())
.getAuthentication();
.getAuthentication();
boolean supervisor = false;
GrantedAuthority[] granted = currentUser.getAuthorities();

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;
@@ -50,7 +58,7 @@ public class WebContactAddController extends SimpleFormController {
.getPrincipal().toString();
Contact contact = new Contact(contactManager.getNextId(), name, email,
owner);
owner);
contactManager.save(contact);
Map myModel = new HashMap();
@@ -60,7 +68,7 @@ public class WebContactAddController extends SimpleFormController {
}
protected Object formBackingObject(HttpServletRequest request)
throws ServletException {
throws ServletException {
WebContact wc = new WebContact();
return wc;

View File

@@ -1,8 +1,16 @@
/*
* The Acegi Security System for Spring is published under the terms
* of the Apache Software License.
/* Copyright 2004 Acegi Technology Pty Limited
*
* Visit http://acegisecurity.sourceforge.net for further details.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.contact;