remove deprecated authenticator modeule (cas 3.x)
This commit is contained in:
parent
b287b69bf1
commit
7a81fa4d0f
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="lib" path="lib/cas-server-core-3.4.2.1.jar"/>
|
||||
<classpathentry kind="lib" path="lib/commons-codec-1.4.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
2
authenticator/.gitignore
vendored
2
authenticator/.gitignore
vendored
@ -1,2 +0,0 @@
|
||||
/build
|
||||
/bin
|
@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>authenticator</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
@ -1,12 +0,0 @@
|
||||
#Tue Sep 07 14:25:06 CEST 2010
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
@ -1,30 +0,0 @@
|
||||
#Tue Sep 07 16:36:06 CEST 2010
|
||||
eclipse.preferences.version=1
|
||||
validateFragments=false
|
||||
validation.actions-missing-required-attribute=-1
|
||||
validation.actions-non-empty-inline-tag=-1
|
||||
validation.actions-unexpected-rtexprvalue=-1
|
||||
validation.actions-unknown-attribute=-1
|
||||
validation.directive-include-fragment-file-not-found=-1
|
||||
validation.directive-include-fragment-file-not-specified=-1
|
||||
validation.directive-taglib-duplicate-prefixes-different-uris=-1
|
||||
validation.directive-taglib-duplicate-prefixes-same-uris=-1
|
||||
validation.directive-taglib-missing-prefix=-1
|
||||
validation.directive-taglib-missing-uri-or-tagdir=-1
|
||||
validation.directive-taglib-unresolvable-uri-or-tagdir=-1
|
||||
validation.el-general-syntax=-1
|
||||
validation.el-lexical-failure=-1
|
||||
validation.java-=-1
|
||||
validation.java-local-variable-is-never-used=-1
|
||||
validation.java-null-local-variable-reference=-1
|
||||
validation.java-potential-null-local-variable-reference=-1
|
||||
validation.java-unused-import=-1
|
||||
validation.translation-tag-class-not-found=-1
|
||||
validation.translation-tei-class-not-found=-1
|
||||
validation.translation-tei-class-not-instantiated=-1
|
||||
validation.translation-tei-class-runtime-exception=-1
|
||||
validation.translation-tei-message=-1
|
||||
validation.translation-usebean-ambiguous-type-info=-1
|
||||
validation.translation-usebean-invalid-id=-1
|
||||
validation.translation-usebean-missing-type-info=-1
|
||||
validation.use-project-settings=true
|
@ -1,18 +0,0 @@
|
||||
#Tue Sep 07 16:37:46 CEST 2010
|
||||
DELEGATES_PREFERENCE=delegateValidatorList
|
||||
USER_BUILD_PREFERENCE=enabledBuildValidatorList
|
||||
USER_MANUAL_PREFERENCE=enabledManualValidatorList
|
||||
USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationtrueversion1.2.200.v201005271900
|
||||
eclipse.preferences.version=1
|
||||
override=true
|
||||
suspend=true
|
||||
vals/org.eclipse.jst.jsp.core.JSPBatchValidator/global=FF01
|
||||
vals/org.eclipse.jst.jsp.core.JSPContentValidator/global=FF01
|
||||
vals/org.eclipse.jst.jsp.core.TLDValidator/global=FF01
|
||||
vals/org.eclipse.wst.dtd.core.dtdDTDValidator/global=FF01
|
||||
vals/org.eclipse.wst.html.ui.HTMLValidator/global=FF01
|
||||
vals/org.eclipse.wst.wsdl.validation.wsdl/global=FF02158org.eclipse.wst.wsdl.validation.internal.eclipse.Validator
|
||||
vals/org.eclipse.wst.xml.core.xml/global=FF03
|
||||
vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator
|
||||
vals/org.eclipse.wst.xsl.core.xsl/global=FF02
|
||||
vf.version=3
|
@ -1,12 +0,0 @@
|
||||
#Tue Sep 07 16:36:08 CEST 2010
|
||||
CHECK_CALL_TEMPLATES=2
|
||||
CHECK_XPATHS=2
|
||||
CIRCULAR_REF=2
|
||||
DUPLICATE_PARAMETER=2
|
||||
EMPTY_PARAM=1
|
||||
MISSING_INCLUDE=2
|
||||
MISSING_PARAM=1
|
||||
NAME_ATTRIBUTE_EMPTY=2
|
||||
NAME_ATTRIBUTE_MISSING=2
|
||||
TEMPLATE_CONFLICT=2
|
||||
eclipse.preferences.version=1
|
@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<project name="authenticator" default="default" basedir=".">
|
||||
|
||||
<property file="${user.home}/.hsar.ant.properties" />
|
||||
<property name="lib.home" value="${basedir}/lib" />
|
||||
<property name="src.home" value="${basedir}/src" />
|
||||
<property name="war.home" value="${basedir}/webapp" />
|
||||
<property name="cls.home" value="${war.home}/WEB-INF/classes" />
|
||||
<property name="compile.debug" value="true" />
|
||||
|
||||
<path id="compile.classpath">
|
||||
<fileset dir="lib">
|
||||
<include name="*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<target name="default" depends="compile" description="Patch WAR File">
|
||||
<echo message="target war: ${cas.openedwar}"/>
|
||||
<copy todir="${cas.openedwar}">
|
||||
<fileset dir="${war.home}"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="compile" description="Compile Authenticator">
|
||||
<javac srcdir="${src.home}" destdir="${cls.home}" debug="${compile.debug}">
|
||||
<classpath refid="compile.classpath" />
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="clean" description="Remove compiled classes">
|
||||
<delete dir="${cls.home}/de"/>
|
||||
</target>
|
||||
|
||||
</project>
|
Binary file not shown.
Binary file not shown.
@ -1,143 +0,0 @@
|
||||
package de.hsadmin.cas;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.Writer;
|
||||
import java.net.Socket;
|
||||
import java.net.UnknownHostException;
|
||||
import java.security.KeyManagementException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocketFactory;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.jasig.cas.authentication.handler.AuthenticationException;
|
||||
import org.jasig.cas.authentication.handler.AuthenticationHandler;
|
||||
import org.jasig.cas.authentication.principal.Credentials;
|
||||
import org.jasig.cas.authentication.principal.UsernamePasswordCredentials;
|
||||
|
||||
public class SmtpAuthenticator implements AuthenticationHandler {
|
||||
|
||||
private static final int SMTPS_PORT = 465;
|
||||
|
||||
public boolean authenticate(Credentials creds)
|
||||
throws AuthenticationException {
|
||||
UsernamePasswordCredentials ucreds = (UsernamePasswordCredentials) creds;
|
||||
try {
|
||||
return isAuthenticated(ucreds.getUsername(), ucreds.getPassword());
|
||||
} catch (SmtpAuthException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean supports(Credentials creds) {
|
||||
return creds instanceof UsernamePasswordCredentials;
|
||||
}
|
||||
|
||||
public boolean isAuthenticated(String user, String passwd)
|
||||
throws SmtpAuthException {
|
||||
boolean isAuth = false;
|
||||
Socket socket = null;
|
||||
try {
|
||||
SSLContext sc = SSLContext.getInstance("SSLv3");
|
||||
sc.init(null, null, null);
|
||||
SSLSocketFactory ssf = sc.getSocketFactory();
|
||||
if ( user == null || user.length() < 2 || user.length() == 4 ) {
|
||||
return false;
|
||||
}
|
||||
if (user.indexOf('@') > 0) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
if (user.length() == 2) {
|
||||
user = "hsh01-" + user;
|
||||
}
|
||||
if (user.length() == 3) {
|
||||
user = "hsh00-" + user;
|
||||
}
|
||||
socket = ssf.createSocket(user.substring(0, 5)
|
||||
+ ".hostsharing.net", SMTPS_PORT);
|
||||
} catch (StringIndexOutOfBoundsException e) {
|
||||
return false;
|
||||
}
|
||||
Writer out = new OutputStreamWriter(socket.getOutputStream(),
|
||||
"ISO-8859-1");
|
||||
BufferedReader sin = new BufferedReader(new InputStreamReader(
|
||||
socket.getInputStream(), "ISO-8859-1"));
|
||||
write(out, "EHLO login.hostsharing.net\r\n");
|
||||
String answer = read(sin, "220 ");
|
||||
answer = read(sin, "250-");
|
||||
StringBuffer userPasswd = new StringBuffer();
|
||||
userPasswd.append('\000');
|
||||
userPasswd.append(user);
|
||||
userPasswd.append('\000');
|
||||
userPasswd.append(passwd);
|
||||
write(out, "AUTH PLAIN "
|
||||
+ new String(Base64.encodeBase64(userPasswd.toString().getBytes())) + "\r\n");
|
||||
answer = read(sin, "000");
|
||||
isAuth = answer.startsWith("235");
|
||||
write(out, "QUIT\r\n");
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
throw new SmtpAuthException(e.getMessage());
|
||||
} catch (KeyManagementException e) {
|
||||
throw new SmtpAuthException(e.getMessage());
|
||||
} catch (UnknownHostException e) {
|
||||
throw new SmtpAuthException(e.getMessage());
|
||||
} catch (IOException e) {
|
||||
throw new SmtpAuthException(e.getMessage());
|
||||
} finally {
|
||||
if (socket != null) {
|
||||
try {
|
||||
socket.close();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
return isAuth;
|
||||
}
|
||||
|
||||
private void write(Writer wr, String line) {
|
||||
try {
|
||||
wr.write(line);
|
||||
wr.flush();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
}
|
||||
|
||||
private String read(BufferedReader rd, String returnCode) {
|
||||
try {
|
||||
String line = rd.readLine();
|
||||
while (line != null && line.startsWith(returnCode)) {
|
||||
line = rd.readLine();
|
||||
}
|
||||
return line;
|
||||
} catch (IOException e) {
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public class SmtpAuthException extends Exception {
|
||||
|
||||
private static final long serialVersionUID = 2394310295147904537L;
|
||||
|
||||
public SmtpAuthException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
SmtpAuthenticator auth = new SmtpAuthenticator();
|
||||
try {
|
||||
if (auth.isAuthenticated(args[0], args[1])) {
|
||||
System.out.println("Login " + args[0] + " Ok");
|
||||
} else {
|
||||
System.out.println("Falsches Login");
|
||||
}
|
||||
} catch (SmtpAuthException e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
cas.securityContext.serviceProperties.service=http://login.hostsharing.net/cas/services/j_acegi_cas_security_check
|
||||
# Names of roles allowed to access the CAS service manager
|
||||
cas.securityContext.serviceProperties.adminRoles=ROLE_ADMIN
|
||||
cas.securityContext.casProcessingFilterEntryPoint.loginUrl=http://login.hostsharing.net/cas/login
|
||||
cas.securityContext.ticketValidator.casServerUrlPrefix=http://login.hostsharing.net/cas
|
||||
cas.themeResolver.defaultThemeName=hostsharing
|
||||
cas.viewResolver.basename=hostsharing_views
|
||||
host.name=login.hostsharing.net
|
||||
#database.hibernate.dialect=org.hibernate.dialect.OracleDialect
|
||||
#database.hibernate.dialect=org.hibernate.dialect.MySQLDialect
|
||||
database.hibernate.dialect=org.hibernate.dialect.HSQLDialect
|
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
mobile.custom.css.file=css/default-mobile-custom.css
|
||||
standard.custom.css.file=themes/hostsharing/cas.css
|
@ -1,38 +0,0 @@
|
||||
### Login view (/login)
|
||||
casLoginView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
casLoginView.url=/WEB-INF/view/jsp/hostsharing/ui/casLoginView.jsp
|
||||
|
||||
### Login confirmation view (logged in, warn=true)
|
||||
casLoginConfirmView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
casLoginConfirmView.url=/WEB-INF/view/jsp/hostsharing/ui/casConfirmView.jsp
|
||||
|
||||
### Logged-in view (logged in, no service provided)
|
||||
casLoginGenericSuccessView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
casLoginGenericSuccessView.url=/WEB-INF/view/jsp/hostsharing/ui/casGenericSuccess.jsp
|
||||
|
||||
### Logout view (/logout)
|
||||
casLogoutView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
casLogoutView.url=/WEB-INF/view/jsp/hostsharing/ui/casLogoutView.jsp
|
||||
|
||||
### CAS error view
|
||||
viewServiceErrorView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
viewServiceErrorView.url=/WEB-INF/view/jsp/hostsharing/ui/serviceErrorView.jsp
|
||||
|
||||
viewServiceSsoErrorView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
viewServiceSsoErrorView.url=/WEB-INF/view/jsp/hostsharing/ui/serviceErrorSsoView.jsp
|
||||
|
||||
### Services Management Views
|
||||
addServiceView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
addServiceView.url=/WEB-INF/view/jsp/services/add.jsp
|
||||
|
||||
editServiceView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
editServiceView.url=/WEB-INF/view/jsp/services/add.jsp
|
||||
|
||||
manageServiceView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
manageServiceView.url=/WEB-INF/view/jsp/services/manage.jsp
|
||||
|
||||
serviceLogoutView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
serviceLogoutView.url=/WEB-INF/view/jsp/services/logout.jsp
|
||||
|
||||
viewStatisticsView.(class)=org.springframework.web.servlet.view.JstlView
|
||||
viewStatisticsView.url=/WEB-INF/view/jsp/services/viewStatistics.jsp
|
@ -1,171 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
| deployerConfigContext.xml centralizes into one file some of the declarative configuration that
|
||||
| all CAS deployers will need to modify.
|
||||
|
|
||||
| This file declares some of the Spring-managed JavaBeans that make up a CAS deployment.
|
||||
| The beans declared in this file are instantiated at context initialization time by the Spring
|
||||
| ContextLoaderListener declared in web.xml. It finds this file because this
|
||||
| file is among those declared in the context parameter "contextConfigLocation".
|
||||
|
|
||||
| By far the most common change you will need to make in this file is to change the last bean
|
||||
| declaration to replace the default SimpleTestUsernamePasswordAuthenticationHandler with
|
||||
| one implementing your approach for authenticating usernames and passwords.
|
||||
+-->
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xmlns:sec="http://www.springframework.org/schema/security"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
|
||||
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
|
||||
<!--
|
||||
| This bean declares our AuthenticationManager. The CentralAuthenticationService service bean
|
||||
| declared in applicationContext.xml picks up this AuthenticationManager by reference to its id,
|
||||
| "authenticationManager". Most deployers will be able to use the default AuthenticationManager
|
||||
| implementation and so do not need to change the class of this bean. We include the whole
|
||||
| AuthenticationManager here in the userConfigContext.xml so that you can see the things you will
|
||||
| need to change in context.
|
||||
+-->
|
||||
<bean id="authenticationManager"
|
||||
class="org.jasig.cas.authentication.AuthenticationManagerImpl">
|
||||
<!--
|
||||
| This is the List of CredentialToPrincipalResolvers that identify what Principal is trying to authenticate.
|
||||
| The AuthenticationManagerImpl considers them in order, finding a CredentialToPrincipalResolver which
|
||||
| supports the presented credentials.
|
||||
|
|
||||
| AuthenticationManagerImpl uses these resolvers for two purposes. First, it uses them to identify the Principal
|
||||
| attempting to authenticate to CAS /login . In the default configuration, it is the DefaultCredentialsToPrincipalResolver
|
||||
| that fills this role. If you are using some other kind of credentials than UsernamePasswordCredentials, you will need to replace
|
||||
| DefaultCredentialsToPrincipalResolver with a CredentialsToPrincipalResolver that supports the credentials you are
|
||||
| using.
|
||||
|
|
||||
| Second, AuthenticationManagerImpl uses these resolvers to identify a service requesting a proxy granting ticket.
|
||||
| In the default configuration, it is the HttpBasedServiceCredentialsToPrincipalResolver that serves this purpose.
|
||||
| You will need to change this list if you are identifying services by something more or other than their callback URL.
|
||||
+-->
|
||||
<property name="credentialsToPrincipalResolvers">
|
||||
<list>
|
||||
<!--
|
||||
| UsernamePasswordCredentialsToPrincipalResolver supports the UsernamePasswordCredentials that we use for /login
|
||||
| by default and produces SimplePrincipal instances conveying the username from the credentials.
|
||||
|
|
||||
| If you've changed your LoginFormAction to use credentials other than UsernamePasswordCredentials then you will also
|
||||
| need to change this bean declaration (or add additional declarations) to declare a CredentialsToPrincipalResolver that supports the
|
||||
| Credentials you are using.
|
||||
+-->
|
||||
<bean
|
||||
class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" />
|
||||
<!--
|
||||
| HttpBasedServiceCredentialsToPrincipalResolver supports HttpBasedCredentials. It supports the CAS 2.0 approach of
|
||||
| authenticating services by SSL callback, extracting the callback URL from the Credentials and representing it as a
|
||||
| SimpleService identified by that callback URL.
|
||||
|
|
||||
| If you are representing services by something more or other than an HTTPS URL whereat they are able to
|
||||
| receive a proxy callback, you will need to change this bean declaration (or add additional declarations).
|
||||
+-->
|
||||
<bean
|
||||
class="org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver" />
|
||||
</list>
|
||||
</property>
|
||||
|
||||
<!--
|
||||
| Whereas CredentialsToPrincipalResolvers identify who it is some Credentials might authenticate,
|
||||
| AuthenticationHandlers actually authenticate credentials. Here we declare the AuthenticationHandlers that
|
||||
| authenticate the Principals that the CredentialsToPrincipalResolvers identified. CAS will try these handlers in turn
|
||||
| until it finds one that both supports the Credentials presented and succeeds in authenticating.
|
||||
+-->
|
||||
<property name="authenticationHandlers">
|
||||
<list>
|
||||
<!--
|
||||
| This is the authentication handler that authenticates services by means of callback via SSL, thereby validating
|
||||
| a server side SSL certificate.
|
||||
+-->
|
||||
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
|
||||
p:httpClient-ref="httpClient" />
|
||||
<!--
|
||||
| This is the authentication handler declaration that every CAS deployer will need to change before deploying CAS
|
||||
| into production. The default SimpleTestUsernamePasswordAuthenticationHandler authenticates UsernamePasswordCredentials
|
||||
| where the username equals the password. You will need to replace this with an AuthenticationHandler that implements your
|
||||
| local authentication strategy. You might accomplish this by coding a new such handler and declaring
|
||||
| edu.someschool.its.cas.MySpecialHandler here, or you might use one of the handlers provided in the adaptors modules.
|
||||
+-->
|
||||
<bean
|
||||
class="de.hsadmin.cas.SmtpAuthenticator" />
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
|
||||
<!--
|
||||
This bean defines the security roles for the Services Management application. Simple deployments can use the in-memory version.
|
||||
More robust deployments will want to use another option, such as the Jdbc version.
|
||||
|
||||
The name of this should remain "userDetailsService" in order for Spring Security to find it.
|
||||
|
||||
To use this, you should add an entry similar to the following between the two value tags:
|
||||
battags=notused,ROLE_ADMIN
|
||||
|
||||
where battags is the username you want to grant access to. You can put one entry per line.
|
||||
-->
|
||||
<!-- <sec:user name="@@THIS SHOULD BE REPLACED@@" password="notused" authorities="ROLE_ADMIN" />-->
|
||||
|
||||
<sec:user-service id="userDetailsService">
|
||||
<sec:user name="pe" password="notused" authorities="ROLE_ADMIN" />
|
||||
</sec:user-service>
|
||||
|
||||
<!--
|
||||
Bean that defines the attributes that a service may return. This example uses the Stub/Mock version. A real implementation
|
||||
may go against a database or LDAP server. The id should remain "attributeRepository" though.
|
||||
-->
|
||||
<bean id="attributeRepository"
|
||||
class="org.jasig.services.persondir.support.StubPersonAttributeDao">
|
||||
<property name="backingMap">
|
||||
<map>
|
||||
<entry key="uid" value="uid" />
|
||||
<entry key="eduPersonAffiliation" value="eduPersonAffiliation" />
|
||||
<entry key="groupMembership" value="groupMembership" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!--
|
||||
Sample, in-memory data store for the ServiceRegistry. A real implementation
|
||||
would probably want to replace this with the JPA-backed ServiceRegistry DAO
|
||||
The name of this bean should remain "serviceRegistryDao".
|
||||
-->
|
||||
<bean
|
||||
id="serviceRegistryDao"
|
||||
class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">
|
||||
<property name="registeredServices">
|
||||
<list>
|
||||
<bean class="org.jasig.cas.services.RegisteredServiceImpl">
|
||||
<property name="id" value="0" />
|
||||
<property name="name" value="HTTP" />
|
||||
<property name="description" value="Only Allows HTTP Urls" />
|
||||
<property name="serviceId" value="http://**" />
|
||||
</bean>
|
||||
|
||||
<bean class="org.jasig.cas.services.RegisteredServiceImpl">
|
||||
<property name="id" value="1" />
|
||||
<property name="name" value="HTTPS" />
|
||||
<property name="description" value="Only Allows HTTPS Urls" />
|
||||
<property name="serviceId" value="https://**" />
|
||||
</bean>
|
||||
|
||||
<bean class="org.jasig.cas.services.RegisteredServiceImpl">
|
||||
<property name="id" value="2" />
|
||||
<property name="name" value="IMAPS" />
|
||||
<property name="description" value="Only Allows HTTPS Urls" />
|
||||
<property name="serviceId" value="imaps://**" />
|
||||
</bean>
|
||||
|
||||
<bean class="org.jasig.cas.services.RegisteredServiceImpl">
|
||||
<property name="id" value="3" />
|
||||
<property name="name" value="IMAP" />
|
||||
<property name="description" value="Only Allows IMAP Urls" />
|
||||
<property name="serviceId" value="imap://**" />
|
||||
</bean>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
</beans>
|
@ -1,6 +0,0 @@
|
||||
<jsp:directive.include file="/WEB-INF/view/jsp/default/ui/includes/top.jsp" />
|
||||
<div id="status" class="errors">
|
||||
<h2><spring:message code="screen.blocked.header" /></h2>
|
||||
<p><spring:message code="screen.blocked.message" /></p>
|
||||
</div>
|
||||
<jsp:directive.include file="/WEB-INF/view/jsp/default/ui/includes/bottom.jsp" />
|
@ -1,7 +0,0 @@
|
||||
<jsp:directive.include file="includes/top.jsp" />
|
||||
<div class="info"><p>
|
||||
<spring:message
|
||||
code="screen.confirmation.message"
|
||||
arguments="${fn:escapeXml(param.service)}${fn:indexOf(param.service, '?') eq -1 ? '?' : '&'}ticket=${serviceTicketId}" />
|
||||
</p></div>
|
||||
<jsp:directive.include file="includes/bottom.jsp" />
|
@ -1,8 +0,0 @@
|
||||
<jsp:directive.include file="includes/top.jsp" />
|
||||
<div id="msg" class="success">
|
||||
<h2><spring:message code="screen.success.header" /></h2>
|
||||
<p><spring:message code="screen.success.success" /></p>
|
||||
<p><spring:message code="screen.success.security" /></p>
|
||||
</div>
|
||||
<jsp:directive.include file="includes/bottom.jsp" />
|
||||
|
@ -1,34 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" %>
|
||||
<jsp:directive.include file="includes/top.jsp" />
|
||||
<form:form method="post" id="fm1" cssClass="fm-v clearfix" commandName="${commandName}" htmlEscape="true">
|
||||
<form:errors path="*" cssClass="errors" id="status" element="div" />
|
||||
<div class="box fl-panel" id="login">
|
||||
<h2>Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein.</h2>
|
||||
<div class="row fl-controls-left">
|
||||
<label for="username" class="fl-label">Benutzername</label>
|
||||
<c:if test="${not empty sessionScope.openIdLocalId}">
|
||||
<strong>${sessionScope.openIdLocalId}</strong>
|
||||
<input type="hidden" id="username" name="username" value="${sessionScope.openIdLocalId}" />
|
||||
</c:if>
|
||||
<c:if test="${empty sessionScope.openIdLocalId}">
|
||||
<spring:message code="screen.welcome.label.netid.accesskey" var="userNameAccessKey" />
|
||||
<form:input cssClass="required" cssErrorClass="error" id="username" size="25" tabindex="1" accesskey="${userNameAccessKey}" path="username" htmlEscape="true" />
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="row fl-controls-left">
|
||||
<label for="password" class="fl-label">Passwort</label>
|
||||
<spring:message code="screen.welcome.label.password.accesskey" var="passwordAccessKey" />
|
||||
<form:password cssClass="required" cssErrorClass="error" id="password" size="25" tabindex="2" path="password" accesskey="${passwordAccessKey}" htmlEscape="true" />
|
||||
</div>
|
||||
<div class="row btn-row">
|
||||
<input id="warn" name="warn" value="true" type="hidden" />
|
||||
<input type="hidden" name="lt" value="${flowExecutionKey}" />
|
||||
<input type="hidden" name="_eventId" value="submit" />
|
||||
<input class="btn-submit" name="submit" accesskey="l" value="<spring:message code="screen.welcome.button.login" />" tabindex="4" type="submit" />
|
||||
<input class="btn-reset" name="reset" accesskey="c" value="<spring:message code="screen.welcome.button.clear" />" tabindex="5" type="reset" />
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<div id="sidebar">
|
||||
</div>
|
||||
<jsp:directive.include file="includes/bottom.jsp" />
|
@ -1,7 +0,0 @@
|
||||
<jsp:directive.include file="includes/top.jsp" />
|
||||
<div id="msg" class="success">
|
||||
<h2><spring:message code="screen.logout.header" /></h2>
|
||||
<p><spring:message code="screen.logout.success" /></p>
|
||||
<p><spring:message code="screen.logout.security" /></p>
|
||||
</div>
|
||||
<jsp:directive.include file="includes/bottom.jsp" />
|
@ -1,7 +0,0 @@
|
||||
</div>
|
||||
<div id="footer">
|
||||
<a href="https://www.hostsharing.net/impressum" title="Impressum">Impressum</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,23 +0,0 @@
|
||||
<%@ page session="true" %>
|
||||
<%@ page pageEncoding="UTF-8" %>
|
||||
<%@ page contentType="text/html; charset=UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
|
||||
<head>
|
||||
<title>Hostsharing - Central Authentication Service (CAS)</title>
|
||||
<link type="text/css" rel="stylesheet" href="themes/hostsharing/cas.css" />
|
||||
<link rel="icon" href="themes/hostsharing/favicon.ico" type="image/x-icon" />
|
||||
<script type="text/javascript" src="js/common_rosters.js"></script>
|
||||
</head>
|
||||
<body onload="init();">
|
||||
<div id="page">
|
||||
<div id="logo">
|
||||
</div>
|
||||
<div id="header">
|
||||
<h1 id="app-name">Hostsharing - Central Authentication Service (CAS)</h1>
|
||||
</div>
|
||||
<div id="content">
|
@ -1,13 +0,0 @@
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<jsp:directive.include file="includes/top.jsp" />
|
||||
<c:url var="url" value="/login">
|
||||
<c:param name="service" value="${param.service}" />
|
||||
<c:param name="renew" value="true" />
|
||||
</c:url>
|
||||
<div id="status" class="errors">
|
||||
<h2><spring:message code="screen.service.sso.error.header" /></h2>
|
||||
<p><spring:message code="screen.service.sso.error.message" arguments="${url}" /></p>
|
||||
</div>
|
||||
<jsp:directive.include file="includes/bottom.jsp" />
|
@ -1,6 +0,0 @@
|
||||
<jsp:directive.include file="includes/top.jsp" />
|
||||
<div id="status" class="errors">
|
||||
<h2><spring:message code="screen.service.error.header" /></h2>
|
||||
<p><spring:message code="screen.service.error.message" /></p>
|
||||
</div>
|
||||
<jsp:directive.include file="includes/bottom.jsp" />
|
@ -1,358 +0,0 @@
|
||||
html,body {
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:0;
|
||||
background:transparent;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
body {
|
||||
font:normal 76% Arial,Helvetica,Verdana,sans-serif;
|
||||
}
|
||||
|
||||
acronym {
|
||||
border-bottom:1px dotted #ccc;
|
||||
cursor:help;
|
||||
}
|
||||
|
||||
a img,#header img {
|
||||
border:0;
|
||||
display:block;
|
||||
}
|
||||
|
||||
.bold {font-weight:bold;}
|
||||
|
||||
.important {color:#b00;}
|
||||
|
||||
.center {text-align:center;}
|
||||
|
||||
.right {text-align:right;}
|
||||
|
||||
.left {text-align:left;}
|
||||
|
||||
/*************************************** HEADER */
|
||||
#header{
|
||||
margin:0;
|
||||
padding:0;
|
||||
width:100%;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
#header a {
|
||||
display:block;
|
||||
margin:0;
|
||||
padding:0 0 0 3px;
|
||||
text-decoration:none;
|
||||
background-color:#b00;
|
||||
color:#ffc;
|
||||
font-size:1em;
|
||||
line-height:19px;
|
||||
}
|
||||
|
||||
#header a.task {
|
||||
float:right;
|
||||
margin:0 0 0 1px;
|
||||
padding:0 5px 0 20px;
|
||||
line-height:20px;
|
||||
text-decoration:none;
|
||||
color:#ffc;
|
||||
}
|
||||
|
||||
#header a:hover.task, #header a:focus.task {background-color:#c33 !important;}
|
||||
|
||||
#logo {
|
||||
margin:10px 0 0 5%;
|
||||
padding:0;
|
||||
width:90%;
|
||||
height:80px;
|
||||
clear:both;
|
||||
background: #005094 url(logo.png) no-repeat scroll;
|
||||
}
|
||||
|
||||
#header h1 {
|
||||
margin:20px 0 0 5%;
|
||||
padding:0;
|
||||
letter-spacing:1px;
|
||||
background:transparent;
|
||||
font-size:2.0em;
|
||||
}
|
||||
|
||||
/*************************************** CONTENT */
|
||||
#content {
|
||||
border-top:1px solid #fff; /* REMOVES VERTICAL MARGIN COLLAPSING */
|
||||
margin:0 5%;
|
||||
padding:0;
|
||||
width:auto !important;
|
||||
width /**/:100%;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
#content .dataset {
|
||||
margin:30px 0 0 0;
|
||||
padding:10px;
|
||||
border:1px solid #eee;
|
||||
clear:both;
|
||||
width:auto !important;
|
||||
width /**/:100%;
|
||||
}
|
||||
|
||||
#content .dataset h2 {
|
||||
position:relative;
|
||||
top:-20px;
|
||||
left:-20px;
|
||||
width:350px;
|
||||
margin:0;
|
||||
padding:0 0 1px 5px;
|
||||
border:1px solid #ccc;
|
||||
background-color:#eee;
|
||||
color:#066;
|
||||
font-weight:bold;
|
||||
font-size:1em;
|
||||
line-height:1.3em;
|
||||
}
|
||||
|
||||
#content .dataset .leftCol {
|
||||
float:left;
|
||||
width:50%;
|
||||
min-width:50%;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
#appStatus .dataset .rightCol {
|
||||
float:right;
|
||||
width:50%;
|
||||
}
|
||||
|
||||
html>body .clear:after {
|
||||
content:" ";
|
||||
display:block;
|
||||
height:0px;
|
||||
line-height:0px;
|
||||
clear:both;
|
||||
visibility:hidden; /* HIDES THE ELEMENT, BUT STILL TAKES UP SPACE */
|
||||
}
|
||||
|
||||
#content p {
|
||||
line-height:1.6em;
|
||||
|
||||
}
|
||||
|
||||
#content ul {
|
||||
margin:0;
|
||||
padding:0;
|
||||
list-style:none;
|
||||
}
|
||||
|
||||
#content ul li {
|
||||
padding-left:20px;
|
||||
margin-top:.5em;
|
||||
}
|
||||
|
||||
#content h2 {
|
||||
margin:0;
|
||||
padding:0;
|
||||
font-size:1.8em;
|
||||
}
|
||||
|
||||
#content h3 {
|
||||
margin:0;
|
||||
padding:0;
|
||||
font-size:1.5em;
|
||||
color:#333;
|
||||
}
|
||||
|
||||
#content p.top {
|
||||
text-align:right;
|
||||
font:bold 1em Verdana,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
/*************************************** FOOTER */
|
||||
#footer {
|
||||
margin:2em 5% 10px 5%;
|
||||
padding:0;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
#footer hr {
|
||||
margin:0;
|
||||
padding:0;
|
||||
height:1px;
|
||||
background:#ccc;
|
||||
color:#ccc;
|
||||
border:0;
|
||||
}
|
||||
|
||||
#footer p {
|
||||
margin:0;
|
||||
padding:0;
|
||||
font-size:1em;
|
||||
line-height:1.2em;
|
||||
color:#999;
|
||||
}
|
||||
|
||||
#footer p#copyright {margin-top:1em;}
|
||||
|
||||
/*************************************** LINK STYLES */
|
||||
#content a:hover, #content a:focus, #content ul li a:hover, #content ul li a:focus,
|
||||
#menu ul li a:hover, #menu ul li a:focus,
|
||||
#footer a:hover, #footer a:focus {
|
||||
background:transparent;
|
||||
color:#b00;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/*************************************** TABLE FORMATTING */
|
||||
table {
|
||||
border-right:solid 1px #999;
|
||||
border-bottom:solid 1px #999;
|
||||
background-color:#fff;
|
||||
font-size:1em;
|
||||
}
|
||||
|
||||
th {
|
||||
border-left:solid 1px #ccc;
|
||||
border-top:solid 1px #ccc;
|
||||
background-color:#eee;
|
||||
color:#066;
|
||||
font-weight:normal;
|
||||
font-size:1em;
|
||||
vertical-align:middle;
|
||||
text-align:left;
|
||||
padding:0 0 0 2px;
|
||||
}
|
||||
|
||||
td {
|
||||
border-left:solid 1px #ccc;
|
||||
border-top:solid 1px #ccc;
|
||||
font-size:1em;
|
||||
padding:0 0 0 2px;
|
||||
}
|
||||
|
||||
/*************************************** FORMS */
|
||||
form {display:inline;}
|
||||
|
||||
input:focus, textarea:focus, select:focus {background:#fc3 !important;}
|
||||
|
||||
input.numeric {text-align:right;}
|
||||
|
||||
/*************************************** BUTTON STYLES */
|
||||
#content a.button, #content a.button:link, #content a.button:hover, #content a.button:active, #content .button {
|
||||
text-decoration:none;
|
||||
background-color:#d0d0d0;
|
||||
border:1px outset #d0d0d0;
|
||||
color: #000;
|
||||
padding:1px 1em;
|
||||
font-size:1.2em;
|
||||
line-height:1.2em;
|
||||
}
|
||||
|
||||
/*************************************** HELP */
|
||||
#help {
|
||||
background-color:#ffc;
|
||||
border:1px solid #ccc;
|
||||
margin:0 0 15px 0;
|
||||
padding:0 0 10px 0;
|
||||
}
|
||||
|
||||
#help h4 {
|
||||
margin:0 0 10px 0;
|
||||
border-bottom:1px solid #ccc;
|
||||
background-color:#fc3;
|
||||
color:#b00;
|
||||
font-size:1em;
|
||||
font-weight:bold;
|
||||
line-height:19px;
|
||||
padding:0 0 0 3px;
|
||||
}
|
||||
|
||||
#help p {
|
||||
margin:10px;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
/* #help #closeHelp {display:none;} */
|
||||
|
||||
#help h4 a, #help h4 a:visited {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 5px 0 20px;
|
||||
text-decoration:none !important;
|
||||
color:#ffc !important;
|
||||
font-weight:normal;
|
||||
line-height:19px;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border-top:solid 1px #ccc;
|
||||
border-bottom:0;
|
||||
border-right:0;
|
||||
border-left:0;
|
||||
margin:0;
|
||||
padding:0;
|
||||
padding-bottom: 1.5em;
|
||||
}
|
||||
form{
|
||||
display: inline;
|
||||
}
|
||||
.accesskey {text-decoration:underline;}
|
||||
fieldset div {padding-top:10px;}
|
||||
|
||||
legend {color:#066;}
|
||||
|
||||
input, select,textarea {
|
||||
font-family:monospace;
|
||||
font-size:11px;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
#content .button {
|
||||
padding:3px 0px;
|
||||
font-size:11px;
|
||||
width:11em;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
label {
|
||||
margin:0 5px 0 0;
|
||||
font-weight:bold;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.required {background:#ffc;}
|
||||
.important {color:#b00;font-family:monospace;font-weight:bold;font-size:1.2em;}
|
||||
.evenrow {background-color:#eee;}
|
||||
|
||||
table .appHeadingRow th {
|
||||
border-top:5px solid #ccc;
|
||||
background-color:#666;
|
||||
color:#fff;
|
||||
text-align:left;
|
||||
padding:0 0 0 2px;
|
||||
}
|
||||
|
||||
|
||||
#login {float:left; margin:0 -296px 0 0; padding:15px; width:258px; min-height:15em; background:#eee; position:relative; border:0;}
|
||||
#login h2 {border-bottom:1px solid #ddd; padding:3px 0; font:normal 400 17px Georgia, "Times New Roman", Times, serif; color:#333;}
|
||||
#login label {font-size:11px;}
|
||||
#login label span.accesskey {text-decoration:underline;}
|
||||
#login input {letter-spacing:1px;}
|
||||
#login .check input {position:relative; left:-4px; height:auto;}
|
||||
#login .check label {float:none; xwidth:auto; line-height:1.8;}
|
||||
#login .btn-row {position:relative; top:15px; padding-top:10px; border-top:1px solid #ddd;}
|
||||
#login .btn-row {top:5px;} /* IE6 */
|
||||
#login .btn-submit {float:none; clear:none; display:inline; letter-spacing:0;}
|
||||
#login .btn-submit {background:#ffd;}
|
||||
#login .btn-reset {float:none; clear:none; margin-left:5px; border:0; border-left:1px solid #ddd; background:transparent; color:#777; text-transform:lowercase; letter-spacing:0;}
|
||||
|
||||
/* MESSAGES --------------------------------- */
|
||||
.info, .errors, .success {clear:both; margin:18px 0; padding:20px 20px 20px 100px; font-size:10px; line-height:1.5;}
|
||||
#content .errors h2, #content .success h2 {font-family:Arial,Helvetica,Verdana,sans-serif; font-size:18px; line-height:48px; font-weight:400; margin:0 18px 0 0; padding:0;}
|
||||
#content .success h2 {color: #008 !important;}
|
||||
#content .errors h2 {color:#b00 !important;}
|
||||
#content .success h2 {color:#060 !important;}
|
||||
|
||||
|
||||
/* static messages */
|
||||
#content #msg p {padding:0;}
|
Binary file not shown.
Before Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 9.9 KiB |
Loading…
Reference in New Issue
Block a user