Commit ea60d9f8 by 陈天仲

1

parent 7c4f2a18
1623936125195
(?:[^/]+/)*?[^/]*?
META-INF(?:$|/.+)
\ No newline at end of file
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.apereo.cas.config.CasEmbeddedContainerTomcatConfiguration,\
org.apereo.cas.config.CasEmbeddedContainerTomcatFiltersConfiguration
cas.javascript.file=/themes/apereo/js/cas.js
cas.standard.css.file=themes/apereo/css/cas.css
##
# CAS Server Context Configuration
#
server.context-path=/cas
server.port=8443
server.ssl.key-store=file:/etc/cas/thekeystore
server.ssl.key-store-password=changeit
server.ssl.key-password=changeit
server.max-http-header-size=2097152
server.use-forward-headers=true
server.connection-timeout=20000
server.error.include-stacktrace=ALWAYS
server.compression.enabled=true
server.compression.mime-types=application/javascript,application/json,application/xml,text/html,text/xml,text/plain
server.tomcat.max-http-post-size=2097152
server.tomcat.basedir=build/tomcat
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%t %a "%r" %s (%D ms)
server.tomcat.accesslog.suffix=.log
server.tomcat.min-spare-threads=10
server.tomcat.max-threads=200
server.tomcat.port-header=X-Forwarded-Port
server.tomcat.protocol-header=X-Forwarded-Proto
server.tomcat.protocol-header-https-value=https
server.tomcat.remote-ip-header=X-FORWARDED-FOR
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
##
# CAS Cloud Bus Configuration
#
spring.cloud.bus.enabled=false
# Indicates that systemPropertiesOverride can be used.
# Set to false to prevent users from changing the default accidentally. Default true.
spring.cloud.config.allow-override=true
# External properties should override system properties.
spring.cloud.config.override-system-properties=false
# When allowOverride is true, external properties should take lowest priority, and not override any
# existing property sources (including local config files).
spring.cloud.config.override-none=false
# spring.cloud.bus.refresh.enabled=true
# spring.cloud.bus.env.enabled=true
# spring.cloud.bus.destination=CasCloudBus
# spring.cloud.bus.ack.enabled=true
endpoints.enabled=false
endpoints.sensitive=true
endpoints.restart.enabled=false
endpoints.shutdown.enabled=false
# Control the security of the management/actuator endpoints
# The 'enabled' flag below here controls the rendering of details for the health endpoint amongst other things.
management.security.enabled=true
management.security.roles=ACTUATOR,ADMIN
management.security.sessions=if_required
management.context-path=/status
management.add-application-context-header=false
# Define a CAS-specific "WARN" status code and its order
management.health.status.order=WARN, DOWN, OUT_OF_SERVICE, UNKNOWN, UP
# Control the security of the management/actuator endpoints
# With basic authentication, assuming Spring Security and/or relevant modules are on the classpath.
security.basic.authorize-mode=role
security.basic.path=/cas/status/**
# security.basic.enabled=true
# security.user.name=casuser
# security.user.password=
##
# CAS Web Application Session Configuration
#
server.session.timeout=300
server.session.cookie.http-only=true
server.session.tracking-modes=COOKIE
##
# CAS Thymeleaf View Configuration
#
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=true
spring.thymeleaf.mode=HTML
spring.thymeleaf.template-resolver-order=100
##
# CAS Log4j Configuration
#
# logging.config=file:/etc/cas/log4j2.xml
server.context-parameters.isLog4jAutoInitializationDisabled=true
##
# CAS AspectJ Configuration
#
spring.aop.auto=true
spring.aop.proxy-target-class=true
##
# CAS Authentication Credentials
#
cas.authn.accept.users=casuser::Mellon
##
# CAS Spring Cloud Config Client
#
# Name of the application for which environment settings and properties should be fetched.
# This should map to a cas.yml or cas.properties file.
spring.application.name=cas
spring.profiles.active=standalone
# Define where the configuration server is running
# and what credentials are used to access it.
# By default, basic authN is used.
spring.cloud.config.uri=http://casuser:Mellon@localhost:8888/casconfigserver
spring.cloud.config.profile=native
# Configuration server is off by default.
spring.cloud.config.enabled=false
spring.cloud.config.watch.enabled=true
spring.cloud.config.watch.initialDelay=30000
spring.cloud.config.watch.delay=1000
spring.cloud.config.fail-fast=true
health.config.enabled=true
# Do NOT modify this line below.
# If you wish to change the configuration directory, it's best to not
# overlay this file, but specify the directory location via command-line
# parameters or system properties via -D.
# cas.standalone.configurationDirectory=/etc/cas/config
cas.standard.css.file=/css/cas.css
cas.admin.css.file=/css/admin.css
cas.javascript.file=/js/cas.js
#Welcome Screen Messages
screen.welcome.welcome=<span dir='rtl'>\u062A\u0647\u0627\u0646\u064A\u0646\u0627 \u0639\u0644\u0649 \u062C\u0644\u0628 CAS \u0639\u0644\u0649 \u0627\u0644\u0627\u0646\u062A\u0631\u0646\u062A!</span>
screen.welcome.security=<span dir='rtl'>\u0644\u0623\u0633\u0628\u0627\u0628 \u0623\u0645\u0646\u064A\u0629\u060C \u0627\u0644\u0631\u062C\u0627\u0621 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C \u0648\u062E\u0631\u0648\u062C \u0645\u062A\u0635\u0641\u062D \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0628\u0639\u062F \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0627\u0644\u062E\u062F\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u062A\u0637\u0644\u0628 \u0627\u0644\u0645\u0635\u0627\u062F\u0642\u0629!</span>
screen.welcome.instructions=<span dir='rtl'>\u0623\u062F\u062E\u0644 \u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0648\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631</span>
screen.welcome.label.netid=<span dir='rtl'>\u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 </span>
screen.welcome.label.netid.accesskey=
screen.welcome.label.password=<span dir='rtl'>\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631</span>
screen.welcome.label.password.accesskey=
screen.welcome.label.warn=<span dir='rtl'>\u062A\u062D\u0630\u0631\u0646\u064A \u0642\u0628\u0644 \u062A\u0633\u062C\u064A\u0644\u064A \u0641\u064A \u0627\u0644\u0645\u0648\u0627\u0642\u0639 \u0627\u0644\u0623\u062E\u0631\u0649.</span>
screen.welcome.label.warn.accesskey=
screen.welcome.button.login=\u062F\u062E\u0648\u0644
screen.welcome.button.clear=\u0627\u0644\u063A\u0627
logo.title=\u0627\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 \u0627\u0644\u0635\u0641\u062D\u0629 Apereo
copyright=<span dir='rtl'>\u062D\u0642 \u0627\u0644\u0646\u0634\u0631 &copy; 2005 - 2015 Apereo, Inc. \u062C\u0645\u064A\u0639 \u0627\u0644\u062D\u0642\u0648\u0642 \u0645\u062D\u0641\u0648\u0638\u0629.</span>
# Blocked Errors Page
screen.blocked.header=<span dir='rtl'>\u0627\u0644\u0648\u0635\u0648\u0644 \u0645\u0631\u0641\u0648\u0636</span>
screen.blocked.message=<span dir='rtl'>\u0644\u0642\u062F \u0642\u0645\u062A \u0628\u0625\u062F\u062E\u0627\u0644 \u0643\u0644\u0645\u0629 \u0645\u0631\u0648\u0631 \u062E\u0627\u0637\u0626\u0629 \u0644\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0645\u0631\u0627\u062A \u0643\u062B\u064A\u0631\u0629 \u062C\u062F\u0627. \u0644\u0642\u062F \u0643\u0646\u062A \u0645\u062E\u0646\u0648\u0642.</span>
#Confirmation Screen Messages
screen.confirmation.message=<span dir='rtl'>\u0627\u0636\u063A\u0637 \u0647\u0646\u0627 {0} \u0644\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 \u0627\u0644\u062A\u0637\u0628\u064A\u0642</span>
#Generic Success Screen Messages
screen.success.header=<span dir='rtl'>\u062A\u0633\u062C\u064A\u0644 \u0646\u0627\u062C\u062D</span>
screen.success.success=<span dir='rtl'>\u0644\u0642\u062F \u0642\u0645\u062A \u0628\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0646\u062C\u0627\u062D \u0644\u0644\u062F\u062E\u0648\u0644 \u0625\u0644\u0649 \u0645\u0631\u0643\u0632 \u0627\u0644\u0645\u0635\u0627\u062F\u0642\u0629</span>
screen.success.security=<span dir='rtl'>\u0644\u0623\u0633\u0628\u0627\u0628 \u0623\u0645\u0646\u064A\u0629\u060C \u0627\u0644\u0631\u062C\u0627\u0621 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C \u0648 \u0627\u0644\u062E\u0631\u0648\u062C \u0645\u0646 \u0645\u062A\u0635\u0641\u062D \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0628\u0639\u062F \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0627\u0644\u062E\u062F\u0645\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u062A\u0637\u0644\u0628 \u0627\u0644\u0645\u0635\u0627\u062F\u0642\u0629!</span>
#Logout Screen Messages
screen.logout.header=<span dir='rtl'>\u062E\u0631\u0648\u062C \u0646\u0627\u062C\u062D</span>
screen.logout.success=<span dir='rtl'>\u0644\u0642\u062F \u0642\u0645\u062A \u0628\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C \u0628\u0646\u062C\u0627\u062D \u0644\u0644\u062E\u0631\u0648\u062C \u0645\u0646 \u0645\u0631\u0643\u0632 \u0627\u0644\u0645\u0635\u0627\u062F\u0642\u0629</span>
screen.logout.security=<span dir='rtl'>\u0644\u0623\u0633\u0628\u0627\u0628 \u0623\u0645\u0646\u064A\u0629\u060C \u064A\u062C\u0628 \u0627\u0644\u062E\u0631\u0648\u062C \u0645\u0646 \u0645\u062A\u0635\u0641\u062D \u0627\u0644\u0648\u064A\u0628 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 </span>
screen.service.sso.error.header=<span dir='rtl'> \u0644\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0645\u0631\u0643\u0632 \u064A\u062C\u0628 \u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0645\u0635\u0627\u062F\u0642\u0629 </span>
screen.service.sso.error.message=<span dir='rtl'>\u0644\u0642\u062F \u062D\u0627\u0648\u0644\u062A \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u062E\u062F\u0645\u0629 \u064A\u062A\u0637\u0644\u0628 \u0645\u0635\u0627\u062F\u0642\u0629 \u0645\u0646 \u062F\u0648\u0646 \u0645\u0635\u0627\u062F\u0642\u0629 \u0645\u0646 \u062C\u062F\u064A\u062F.\u0627\u0644\u0631\u062C\u0627\u0621 \u062D\u0627\u0648\u0644 \u0644\u0645\u0635\u0627\u062F\u0642\u0629 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649 {0} </span>
username.required=\u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0647\u0648 \u0627\u0644\u062D\u0642\u0644 \u0627\u0644\u0645\u0637\u0644\u0648\u0628
password.required=\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0647\u064A \u0627\u0644\u062D\u0642\u0644 \u0627\u0644\u0645\u0637\u0644\u0648\u0628
error.authentication.credentials.bad= \u0623\u0648\u0631\u0627\u0642 \u0627\u0644\u0627\u0639\u062A\u0645\u0627\u062F \u0627\u0644\u062A\u064A \u0642\u062F\u0645\u062A\u0647\u0627 \u0644\u0627 \u064A\u0645\u0643\u0646 \u062A\u062D\u062F\u064A\u0647 \u0644\u0644\u0645\u0635\u0627\u062F\u0642\u0629 \u0639\u0644\u064A\u0647
error.authentication.credentials.unsupported= \u0623\u0648\u0631\u0627\u0642 \u0627\u0644\u0627\u0639\u062A\u0645\u0627\u062F \u0627\u0644\u062A\u064A \u0642\u062F\u0645\u062A\u0647\u0627 \u063A\u064A\u0631 \u0645\u0639\u062A\u0645\u062F\u0629 \u0628\u0648\u0627\u0633\u0637\u0629
INVALID_REQUEST_PROXY=pgt \u0648 targetService \u0645\u0639\u0644\u0645\u0627\u062A \u06A9\u0644\u0627\u0647\u0645\u0627 \u0645\u0637\u0644\u0648\u0628
INVALID_TICKET_SPEC=\u0641\u0634\u0644 \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0635\u062D\u0629 \u0645\u0648\u0627\u0635\u0641\u0627\u062A \u0627\u0644\u062A\u0630\u0627\u0643\u0631. \u064A\u0645\u0643\u0646 \u0623\u0646 \u062A\u062A\u0636\u0645\u0646 \u0623\u062E\u0637\u0627\u0621 \u0645\u062D\u062A\u0645\u0644\u0629 \u062A\u062D\u0627\u0648\u0644 \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0635\u062D\u0629 \u0627\u0644\u062A\u0630\u0627\u0643\u0631 \u0639\u0646 \u0637\u0631\u064A\u0642 \u0648\u0643\u064A\u0644 \u0645\u062F\u0642\u0642 \u062A\u0630\u0643\u0631\u0629 \u0627\u0644\u062E\u062F\u0645\u0629\u060C \u0623\u0648 \u0644\u0645 \u064A\u0645\u062A\u062B\u0644 \u0644\u0637\u0644\u0628 \u062A\u062C\u062F\u064A\u062F \u062D\u0642\u064A\u0642\u064A
INVALID_REQUEST=service \u0648 ticket \u0645\u0639\u0644\u0645\u0627\u062A \u06A9\u0644\u0627\u0647\u0645\u0627 \u0645\u0637\u0644\u0648\u0628
INVALID_TICKET=\u062A\u0630\u0643\u0631\u0629 {0} \u0644\u0627 \u064A\u0639\u062A\u0631\u0641
INVALID_SERVICE=\u062A\u0630\u0643\u0631\u0629 {0} \u0644\u0627 \u064A\u062A\u0637\u0627\u0628\u0642 \u0645\u0639 \u0627\u0644\u062E\u062F\u0645\u0629 \u0627\u0644\u0645\u0642\u062F\u0645\u0629. \u0643\u0627\u0646\u062A \u0627\u0644\u062E\u062F\u0645\u0629 \u0627\u0644\u0623\u0635\u0644\u064A\u0629 {1} \u0648\u06A9\u0627\u0646\u062A \u0627\u0644\u062E\u062F\u0645\u0629 \u0627\u0644\u0645\u0642\u062F\u0645\u0629 {2{
screen.service.error.header=<span dir='rtl'>\u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0644\u0627 \u064A\u0633\u0645\u062D \u0627\u0633\u062A\u062E\u062F\u0627\u0645 CAS</span>
screen.service.error.message=<span dir='rtl'>\u0627\u0644\u062E\u062F\u0645\u0629 \u0627\u0644\u062A\u064A \u062A\u0637\u0644\u0628\u064A\u0646\u0647\u0627 \u063A\u0631 \u0645\u0633\u0645\u0648\u062D\u0629 \u0628\u0647\u0627 \u0644\u062F\u0649 \u0627\u0633\u062A\u0639\u0645\u0627\u0644 CAS</span>
#Author: Evili del Rio i Silvan and Alex Henrie
#Welcome Screen Messages
screen.welcome.welcome=Felicitats per engegar el CAS correctament! Per a aprendre com autenticar, si us plau, repasseu la configuració del gestor d'autenticació per defecte.
screen.welcome.security=Per raons de seguretat, si us plau, tanqueu la sessió i el vostre navegador web quan hàgiu acabat d'accedir als serveis que requereixen autenticació.
screen.welcome.instructions=Introduïu el vostre nom d'usuari i contrasenya.
screen.welcome.label.netid=Nom d'<span class="accesskey">u</span>suari:
screen.welcome.label.netid.accesskey=u
screen.welcome.label.password=<span class="accesskey">C</span>ontrasenya:
screen.welcome.label.password.accesskey=c
screen.welcome.label.warn=<span class="accesskey">A</span>viseu-me abans d'obrir sessió en altres llocs.
screen.welcome.label.warn.accesskey=a
screen.welcome.button.login=INICIA SESSIÓ
screen.welcome.button.clear=NETEJA
logo.title=vés a la pàgina principal de l'Apereo
copyright=Copyright &copy; 2005&ndash;2015 Apereo, Inc. Es reserven tots els drets.
screen.capslock.on = La tecla BLOQ MAJ està activada!
# Blocked Errors Page
screen.blocked.header=Accés denegat
screen.blocked.message=Heu introduïda una contrasenya equivocada per al usuari massa vegades. Se us ha restringit.
#Confirmation Screen Messages
screen.confirmation.message=Feu clic <a href="{0}">aquí</a> per a anar a l'aplicació.
#Generic Success Screen Messages
screen.success.header=Inici de sessió reeixit
screen.success.success=Vós, {0}, heu iniciat amb èxit la sessió al Servei Central d''Autenticació (CAS).
screen.success.security=Per raons de seguretat, si us plau, tanqueu la sessió i el vostre navegador web quan hàgiu terminat.
#Logout Screen Messages
screen.logout.header=Tancament de sessió reeixit
screen.logout.success=Heu tancat amb èxit la sessió al Servei Central d'Autenticació (CAS).
screen.logout.security=Per raons de seguretat, tanqueu el vostre navegador web.
screen.service.sso.error.header=Cal reautenticar per a accedir a aquest servei
screen.service.sso.error.message=Heu intentat accedir a un servei que requereix autenticació sense reautenticar. Si us plau, intenteu <a href="{0}">autenticar de nou</a>.
username.required=El nom d'usuari és un camp obligatori.
password.required=La contrasenya és un camp obligatori.
# Authentication failure messages
authenticationFailure.AccountDisabledException=S'ha deshabilitat aquest compte.
authenticationFailure.AccountLockedException=S'ha bloquejat aquest compte.
authenticationFailure.CredentialExpiredException=La vostra contrasenya ha caducada.
authenticationFailure.InvalidLoginLocationException=No podeu iniciar sessió des d'aquesta estació de treball.
authenticationFailure.InvalidLoginTimeException=Està prohibit iniciar sessió amb el vostre compte en aquest moment.
authenticationFailure.AccountNotFoundException=Les credencials són invàlides.
authenticationFailure.FailedLoginException=Les credencials són invàlides.
authenticationFailure.UNKNOWN=Les credencials són invàlides.
INVALID_REQUEST_PROXY=calen ambdós dels paràmetres 'pgt' i 'targetService'
INVALID_TICKET_SPEC=El tiquet ha fallat l'especificació de validació. Els errors possibles poden incloure intentar validar un tiquet d'intermediari mitjançant un validador de tiquets de servei, o no complir amb la petició de renovació (renew true).
INVALID_REQUEST=calen ambdós dels paràmetres 'service' i 'ticket'
INVALID_TICKET=No s''ha reconegut el tiquet ''{0}''
INVALID_SERVICE=El tiquet ''{0}'' no coincideix amb el servei proporcionat. El servei original era ''{1}'' i el servei proporcionat era ''{2}''.
INVALID_PROXY_CALLBACK=L''adreça de retrotrucada d''intermediari proveïda ''{0}'' no s''ha pogut autenticar.
UNAUTHORIZED_SERVICE_PROXY=El servei proporcionat ''{0}'' no està autoritzat a utilitzar l''autenticació intermediària del CAS.
screen.service.error.header=Aplicació no autoritzada a utilitzar el CAS
service.not.authorized.missing.attr=No esteu autoritzat a accedir a l'aplicació perquè al vostre compte \
li manquen els privilegis que el servidor CAS requereix per a autenticar a aquest servei. Si us plau, notifiqueu al vostre suport tècnic.
screen.service.error.message=L'aplicació a que heu intentat autenticar no està autoritzada a utilitzar el CAS.
screen.service.empty.error.message=El registre de serveis del CAS està buit i no té definicions de servei. \
Les aplicacions que volen autenticar amb el CAS han de ser explícitament definides en el registre de serveis.
# Password policy
password.expiration.warning=La vostra contrasenya caduca en {0} dies. Si us plau, <a href="{1}">canvieu la vostra contrasenya</a> ara.
password.expiration.loginsRemaining=Teniu {0} inicis de sessió restant abans que <strong>HEU</strong> de canviar la vostra contrasenya.
screen.accountdisabled.heading=S'ha deshabilitat aquest compte.
screen.accountdisabled.message=Si us plau, contacteu a l'administrador de sistema per a recobrar accés.
screen.accountlocked.heading=S'ha bloquejat aquest compte.
screen.accountlocked.message=Si us plau, contacteu a l'administrador de sistema per a recobrar accés.
screen.expiredpass.heading=La vostra contrasenya ha caducada.
screen.expiredpass.message=Si us plau, <a href="{0}">canvieu la vostra contrasenya</a>.
screen.mustchangepass.heading=Heu de canviar la vostra contrasenya.
screen.mustchangepass.message=Si us plau, <a href="{0}">canvieu la vostra contrasenya</a>.
screen.badhours.heading=Està prohibit iniciar sessió amb el vostre compte en aquest moment.
screen.badhours.message=Si us plau, intenteu més tard.
screen.badworkstation.heading=No podeu iniciar sessió des d'aquesta estació de treball.
screen.badworkstation.message=Si us plau, contacteu a l'administrador de sistema per a recobrar accés.
# OAuth
screen.oauth.confirm.header=Autorització
screen.oauth.confirm.message=Voleu concedir accés al vostre perfil complet a "{0}"?
screen.oauth.confirm.allow=Permet
# Unavailable
screen.unavailable.heading=El CAS no està disponible
screen.unavailable.message=Ha hagut un error al intentar complir amb la vostra petició. Si us plau, notifiqueu al vostre suport tècnic o intenteu de nou.
#Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)
#Welcome Screen Messages
INVALID_PROXY_CALLBACK = Poskytnut\u00E9 URL proxy callbacku ''{0}'' nelze autentifikovat.
INVALID_REQUEST = Parametry 'service' a 'ticket' jsou povinn\u00E9
INVALID_REQUEST_PROXY = Parametry 'pgt' a 'targetService' jsou povinn\u00E9
INVALID_SERVICE = Ticket ''{0}'' nesouhlas\u00ED s poskytovanou slu\u017Ebou. P\u016Fvodn\u00ED slu\u017Eba byla ''{1}'', poskytnut\u00E1 je ''{2}''.
INVALID_TICKET = Ticket ''{0}'' nebyl rozpozn\u00E1n
INVALID_TICKET_SPEC = Ticket neporo\u0161el kontrolou validity. Mo\u017En\u00E9 chyby zahrnuj\u00ED pokus o ov\u011B\u0159en\u00ED Proxy Ticketu pomoc\u00ED ov\u011B\u0159en\u00ED Service Ticketu nebo nedodr\u017Een\u00ED po\u017Eadavku na renew.
UNAUTHORIZED_SERVICE_PROXY = Poskytnut\u00E1 slu\u017Eba ''{0}'' nen\u00ED opr\u00E1vn\u011Bn\u00ED k pou\u017Eit\u00ED CAS proxy autentizace.
authenticationFailure.AccountDisabledException = Tento \u00FA\u010Det byl zak\u00E1z\u00E1n.
authenticationFailure.AccountLockedException = Tento \u00FA\u010Det byl uzam\u010Den.
authenticationFailure.AccountNotFoundException = Nezn\u00E1m\u00E9 p\u0159ihla\u0161ovac\u00ED \u00FAdaje.
authenticationFailure.CredentialExpiredException = Va\u0161e heslo ji\u017E nen\u00ED platn\u00E9.
authenticationFailure.FailedLoginException = Neplatn\u00E9 p\u0159ihla\u0161ovac\u00ED \u00FAdaje.
authenticationFailure.InvalidLoginLocationException = Z tohoto po\u010D\u00EDta\u010De se nem\u016F\u017Eete p\u0159ihl\u00E1sit.
authenticationFailure.InvalidLoginTimeException = P\u0159ihl\u00E1\u0161en\u00ED v tento \u010Das pro V\u00E1\u0161 \u00FA\u010Det povoleno.
authenticationFailure.UNKNOWN = Neplatn\u00E9 p\u0159ihla\u0161ovac\u00ED \u00FAdaje.
copyright = Copyright &copy; 2005&ndash;2012 Apereo, Inc. V\u0161echna pr\u00E1va vyhrazena.
logo.title = j\u00EDt na str\u00E1nky Apereo
password.expiration.loginsRemaining = Zb\u00FDv\u00E1 V\u00E1m {0} p\u0159ihl\u00E1\u0161en\u00ED, ne\u017E budete <strong>MUSET</strong> zm\u011Bnit sv\u00E9 heslo.
password.expiration.warning = Va\u0161e heslo vypr\u0161\u00ED za {0} dn\u00ED. <a href="{1}">Zm\u011B\u0148te pros\u00EDm ihned sv\u00E9 heslo</a>.
required.password = Heslo je povinn\u00FD \u00FAdaj.
required.username = U\u017Eivatelsk\u00E9 jm\u00E9no je povinn\u00FD \u00FAdaj.
screen.accountdisabled.heading = Tento \u00FA\u010Det byl zak\u00E1z\u00E1n.
screen.accountdisabled.message = Pro obnoven\u00ED p\u0159\u00EDstupu kontaktujte pros\u00EDm sv\u00E9ho syst\u00E9mov\u00E9ho administr\u00E1tora.
screen.accountlocked.heading = Tento \u00FA\u010Det byl uzam\u010Den.
screen.accountlocked.message = Pro obnoven\u00ED p\u0159\u00EDstupu kontaktujte pros\u00EDm sv\u00E9ho syst\u00E9mov\u00E9ho administr\u00E1tora.
screen.badhours.heading = V\u00E1\u0161 \u00FA\u010Det nem\u00E1 povolen\u00ED k p\u0159ihl\u00E1\u0161en\u00ED v tomto \u010Dase.
screen.badhours.message = Zkuste to pros\u00EDm pozd\u011Bji.
screen.badworkstation.heading = Z tohoto po\u010D\u00EDta\u010De se nem\u016F\u017Eete p\u0159ihl\u00E1sit.
screen.badworkstation.message = Pro obnoven\u00ED p\u0159\u00EDstupu kontaktujte pros\u00EDm sv\u00E9ho syst\u00E9mov\u00E9ho administr\u00E1tora.
screen.blocked.header = P\u0159\u00EDstup odep\u0159en
screen.blocked.message = Zadal(a) jste \u0161patn\u00E9 heslo p\u0159\u00EDli\u0161 \u010Dasto. P\u0159\u00EDtsup byl do\u010Dasn\u011B zablokov\u00E1n.
#Confirmation Screen Messages
screen.confirmation.message = Pro p\u0159echod na web <a href="{0}">klikn\u011Bte zde</a>.
screen.expiredpass.heading = Va\u0161e heslo ji\u017E n\u011Bn\u00ED platn\u00E9.
screen.expiredpass.message = <a href="{0}">Zm\u011B\u0148te pros\u00EDm sv\u00E9 heslo</a>.
#Logout Screen Messages
screen.logout.header = \u00DAsp\u011B\u0161n\u00E9 odhl\u00E1\u0161en\u00ED
screen.logout.security = Z bezpe\u010Dnostn\u00EDch d\u016Fvod\u016F uzav\u0159ete v\u0161echna okna prohl\u00ED\u017Ee\u010De.
screen.logout.success = \u00DAsp\u011B\u0161n\u011B jste se odhl\u00E1sili od Centr\u00E1ln\u00ED Autentiza\u010Dn\u00ED Slu\u017Eby.
screen.mustchangepass.heading = Mus\u00EDte zm\u011Bnit sv\u00E9 heslo.
screen.mustchangepass.message = <a href="{0}">Zm\u011B\u0148te pros\u00EDm sv\u00E9 heslo</a>.
screen.oauth.confirm.allow = Povolit
screen.oauth.confirm.header = Autorizace
screen.oauth.confirm.message = Chcete povolit p\u0159\u00EDstup ke sv\u00E9mu profilu pro "{0}"?
screen.service.empty.error.message = Registr slu\u017Eeb CASu je pr\u00E1zdn\u00FD a nem\u00E1 definovan\u00E9 \u017E\u00E1dn\u00E9 slu\u017Eby. Aplikace, kter\u00E9 chcete autentizovat pomoc\u00ED CASu mus\u00EDte explicitn\u011B uv\u00E9st v registru slu\u017Eeb.
#Service Error Messages
screen.service.error.header = Aplikace nen\u00ED autorizovan\u00E1 k pou\u017Eit\u00ED p\u0159ihl\u0161ov\u00E1n\u00ED pomoc\u00ED CASu.
screen.service.error.message = Aplikace ke kter\u00E9 se sna\u017E\u00EDte p\u0159ihl\u00E1sit nen\u00ED opr\u00E1vn\u011Bna k vyu\u017Eit\u00ED CASu.
screen.service.sso.error.header = Pro tuto slu\u017Ebu je po\u017Eadov\u00E1no op\u011Btovn\u00E9 p\u0159ihl\u00E1\u0161en\u00ED
screen.service.sso.error.message = Pokou\u0161\u00EDte se p\u0159istoupit ke slu\u017Eb\u011B, kter\u00E1 vy\u017Eaduje op\u011Btovn\u00E9 p\u0159ihl\u00E1\u0161en\u00ED. Zkuste se pros\u00EDm <a href="{0}">p\u0159ihl\u00E1sit znovu</a>.
#Generic Success Screen Messages
screen.success.header = \u00DAsp\u011B\u0161n\u00E9 p\u0159ihl\u00E1\u0161en\u00ED
screen.success.security = Z bezpe\u010Dnostn\u00EDch d\u016Fvod\u016F se po ukon\u010Den\u00ED pr\u00E1ce odhla\u0161te a zav\u0159ete v\u0161echna okna prohl\u00ED\u017Ee\u010De!
screen.success.success = \u00DAsp\u011B\u0161n\u011B jste se p\u0159ihl\u00E1sili k Centr\u00E1ln\u00ED Autentika\u010Dn\u00ED Slu\u017Eb\u011B.
screen.unavailable.heading = CAS nen\u00ED dostupn\u00FD
screen.unavailable.message = P\u0159i zpracov\u00E1n\u00ED Va\u0161eho po\u017Eadavku do\u0161lo k chyb\u011B. Uv\u011Bdomte pros\u00EDm syst\u00E9movou podporu nebo to zkuste znovu.
screen.welcome.button.clear = VY\u010CISTIT
screen.welcome.button.login = P\u0158IHL\u00C1SIT
screen.welcome.instructions = Zadejte sv\u00E9 u\u017Eivatelsk\u00E9 jm\u00E9no a heslo
screen.welcome.label.netid = <span class="accesskey">U</span>\u017Eivatelsk\u00E9 jm\u00E9no
screen.welcome.label.netid.accesskey = u
screen.welcome.label.password = <span class="accesskey">H</span>eslo:
screen.welcome.label.password.accesskey = h
screen.welcome.label.warn = Upo<span class="accesskey">z</span>ornit p\u0159ed p\u0159ihl\u00E1\u0161en\u00ED k jin\u00E9 aplikaci.
screen.welcome.label.warn.accesskey = z
screen.welcome.security = Z bezpe\u010Dnostn\u00EDch d\u016Fvod\u016F se po ukon\u010Den\u00ED pr\u00E1ce odhla\u0161te a zav\u0159ete v\u0161echna okna prohl\u00ED\u017Ee\u010De!
screen.welcome.welcome = Gratulujeme, \u00FAsp\u011B\u0161n\u011B jste zprovoznili CAS! Pro zji\u0161t\u011Bn\u00ED, jak se p\u0159ihl\u00E1sit, prohl\u00E1dn\u011Bte si v\u00FDchoz\u00ED konfiguraci autentifika\u010Dn\u00EDho handleru.
#Author: Joaquin Recio, Jose Luis Huertas, Juan Paulo Soto, and Alex Henrie
#Welcome Screen Messages
screen.welcome.welcome=¡Felicidades por iniciar CAS correctamente! Para aprender cómo autenticar, por favor repase la configuración del gestor de configuración por defecto.
screen.welcome.security=Por razones de seguridad, ¡por favor cierre su sesión y su navegador web cuando haya terminado de acceder a los servicios que requieren autenticación!
screen.welcome.instructions=Introduzca su nombre de usuario y contraseña.
screen.welcome.label.netid=Nombre de <span class="accesskey">u</span>suario:
screen.welcome.label.netid.accesskey=u
screen.welcome.label.password=<span class="accesskey">C</span>ontraseña:
screen.welcome.label.password.accesskey=c
screen.welcome.label.warn=<span class="accesskey">A</span>visarme antes de abrir sesión en otros sitios.
screen.welcome.label.warn.accesskey=a
screen.welcome.button.login=INICIAR SESIÓN
screen.welcome.button.clear=LIMPIAR
logo.title=ir a la página principal de Apereo
copyright=Copyright &copy; 2005&ndash;2015 Apereo, Inc. Se reservan todos los derechos.
screen.capslock.on = ¡La tecla BLOQ MAYÚS está activada!
# Blocked Errors Page
screen.blocked.header=Acceso denegado
screen.blocked.message=Ha introducido una contraseña equivocada para el usuario demasiadas veces. Se le ha restringido.
#Confirmation Screen Messages
screen.confirmation.message=Haga clic <a href="{0}">aquí</a> para ir a la aplicación.
#Generic Success Screen Messages
screen.success.header=Inicio de sesión exitoso
screen.success.success=Usted, {0}, ha iniciado con éxito su sesión en el Servicio de Autenticación Central.
screen.success.security=Por razones de seguridad, por favor cierre su sesión y su navegador web cuando haya terminado de acceder a los servicios que requieren autenticación.
#Logout Screen Messages
screen.logout.header=Cierre de sesión exitoso
screen.logout.success=Ha cerrado con éxito su sesión del Servicio de Autenticación Central.
screen.logout.security=Por razones de seguridad, cierre su navegador web.
screen.service.sso.error.header=Reautenticación requerida para acceder a este servicio
screen.service.sso.error.message=Intentó acceder a un servicio que requiere autenticación sin reautenticar. Por favor intente <a href="{0}">autenticar de nuevo</a>.
username.required=El nombre de usuario es un campo requerido.
password.required=La contraseña es un campo requerido.
# Authentication failure messages
authenticationFailure.AccountDisabledException=Se ha deshabilitado esta cuenta.
authenticationFailure.AccountLockedException=Se ha bloqueado esta cuenta.
authenticationFailure.CredentialExpiredException=Su contraseña ha caducado.
authenticationFailure.InvalidLoginLocationException=No puede iniciar sesión desde esta estación de trabajo.
authenticationFailure.InvalidLoginTimeException=Está prohibido iniciar sesión con su cuenta en este momento.
authenticationFailure.AccountNotFoundException=Credenciales inválidas.
authenticationFailure.FailedLoginException=Credenciales inválidas.
authenticationFailure.UNKNOWN=Credenciales inválidas.
INVALID_REQUEST_PROXY=ambos de los parámetros 'pgt' y 'targetService' se requieren
INVALID_TICKET_SPEC=El tique falló la especificación de validación. Los errores posibles pueden incluir intentar validar un tique de proxy mediante un validador de tiques de servicio, o no cumplir con la petición de renovación (renew true).
INVALID_REQUEST=ambos de los parámetros 'service' y 'ticket' se requieren
INVALID_TICKET=No se ha reconocido el tique ''{0}''
INVALID_SERVICE=El tique ''{0}'' no coincide con el servicio proporcionado. El servicio original era ''{1}'' y el servicio proporcionado era ''{2}''.
INVALID_PROXY_CALLBACK=La dirección web de retrollamada de proxy ''{0}'' no se pudo autenticar.
UNAUTHORIZED_SERVICE_PROXY=El servicio proporcionado ''{0}'' no está autorizado a usar la autenticación de proxy CAS.
screen.service.error.header=Aplicación no autorizada a usar CAS
service.not.authorized.missing.attr=No está autorizado a accedir a la aplicación porque a su cuenta \
le faltan privilegios que el servidor CAS requiere para autenticar a este servicio. Por favor, notifique a su soporte técnico.
screen.service.error.message=La aplicación que usted ha intentado autenticar no está autorizada a usar CAS.
screen.service.empty.error.message=El registro de servicios del CAS está vacío y no tiene definiciones de servicio. \
Las aplicaciones que quieren autenticar con CAS deben ser explícitamente definidas en el registro de servicios.
# Password policy
password.expiration.warning=Su contraseña caduca en {0} días. Por favor <a href="{1}">cambie su contraseña</a> ahora.
password.expiration.loginsRemaining=Tiene {0} inicios de sesión restantes antes que <strong>DEBE</strong> cambiar su contraseña.
screen.accountdisabled.heading=Se ha deshabilitado esta cuenta.
screen.accountdisabled.message=Por favor contacte al administrador de sistema para recobrar acceso.
screen.accountlocked.heading=Se ha bloqueado esta cuenta.
screen.accountlocked.message=Por favor contacte al administrador de sistema para recobrar acceso.
screen.expiredpass.heading=Su contraseña ha caducado.
screen.expiredpass.message=Por favor <a href="{0}">cambie su contraseña</a>.
screen.mustchangepass.heading=Debe cambiar su contraseña.
screen.mustchangepass.message=Por favor <a href="{0}">cambie su contraseña</a>.
screen.badhours.heading=Está prohibido iniciar sesión con su cuenta en este momento.
screen.badhours.message=Por favor intente más tarde.
screen.badworkstation.heading=No puede iniciar sesión desde esta estación de trabajo.
screen.badworkstation.message=Por favor contacte al administrador de sistema para recobrar acceso.
# OAuth
screen.oauth.confirm.header=Autorización
screen.oauth.confirm.message=¿Quiere conceder acceso a su perfil completo a "{0}"?
screen.oauth.confirm.allow=Permitir
# Unavailable
screen.unavailable.heading=CAS no está disponible
screen.unavailable.message=Hubo un error al intentar cumplir con su petición. Por favor notifique a su soporte técnico o intente otra vez.
#Welcome Screen Messages
screen.welcome.welcome=<span dir='rtl'>\u0645\u0648\u0641\u0642 \u0634\u062F\u06CC\u062F CAS \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062A \u0622\u0646\u0644\u0627\u06CC\u0646 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u06A9\u0646\u06CC\u062F! \u0645\u062F\u06CC\u0631 \u062A\u0627\u06CC\u06CC\u062F \u067E\u06CC\u0634 \u0641\u0631\u0636\u060C \u062A\u0627\u06CC\u06CC\u062F \u0645\u06CC\u06A9\u0646\u062F \u0686\u0647 \u0632\u0645\u0627\u0646\u06CC \u0646\u0627\u0645 \u06A9\u0627\u0631\u0628\u0631\u06CC \u0648 \u0631\u0645\u0632 \u0648\u0631\u0648\u062F \u0647\u0645\u062E\u0648\u0627\u0646\u06CC \u062F\u0627\u0631\u0646\u062F: \u0645\u0631\u0627\u062D\u0644 \u0631\u0627 \u0627\u062F\u0627\u0645\u0647 \u062F\u0647\u06CC\u062F \u0648 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F.</span>
screen.welcome.security=<span dir='rtl'>\u0628\u0647 \u062F\u0644\u0627\u06CC\u0644 \u0627\u0645\u0646\u06CC\u062A\u06CC \u0632\u0645\u0627\u0646\u06CC \u06A9\u0647 \u062F\u06CC\u06AF\u0631 \u0646\u06CC\u0627\u0632\u06CC \u0628\u0647 \u062F\u0633\u062A\u06CC\u0627\u0628\u06CC \u0628\u0647 \u0633\u0631\u0648\u06CC\u0633\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0627\u062D\u062A\u06CC\u0627\u062C \u0628\u0647 \u062A\u0627\u06CC\u06CC\u062F \u062F\u0627\u0631\u0646\u062F \u0646\u062F\u0627\u0634\u062A\u06CC\u062F\u060C \u0627\u0632 \u067E\u0627\u06CC\u06AF\u0627\u0647 \u062E\u0627\u0631\u062C \u0634\u062F\u0647 \u0645\u0631\u0648\u0631\u06AF\u0631 \u062E\u0648\u062F \u0631\u0627 \u0628\u0628\u0646\u062F\u06CC\u062F!</span>
screen.welcome.instructions=<span dir='rtl'>\u0646\u0627\u0645 \u06A9\u0627\u0631\u0628\u0631\u06CC \u0648 \u0631\u0645\u0632 \u0648\u0631\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F</span>
screen.welcome.label.netid=<span dir='rtl'>\u0646\u0627\u0645 \u06A9\u0627\u0631\u0628\u0631\u06CC</span>
screen.welcome.label.netid.accesskey=
screen.welcome.label.password=<span dir='rtl'>\u0631\u0645\u0632 \u0648\u0631\u0648\u062F</span>
screen.welcome.label.password.accesskey=
screen.welcome.label.warn=<span dir='rtl'>\u0642\u0628\u0644 \u0627\u0632 \u0648\u0631\u0648\u062F \u0628\u0647 \u0633\u0627\u06CC\u062A\u0647\u0627\u06CC \u062F\u06CC\u06AF\u0631 \u0628\u0647 \u0645\u0646 \u0647\u0634\u062F\u0627\u0631 \u0628\u062F\u0647</span>
screen.welcome.label.warn.accesskey=
screen.welcome.button.login=\u0648\u0631\u0648\u062F
screen.welcome.button.clear=\u0627\u0646\u0635\u0631\u0627\u0641
logo.title=\u0628\u0647 \u0635\u0641\u062D\u0647 \u0627\u0635\u0644\u06CC Apereo \u0628\u0631\u0648
copyright=<span dir='rtl'>\u062D\u0642 \u0646\u0634\u0631 &copy; 2005 - 2017 Apereo, Inc. \u06A9\u0644\u06CC\u0647 \u062D\u0642\u0648\u0642 \
\u0645\u062D\u0641\u0648\u0638 \u0627\u0633\u062A</span>
# Blocked Errors Page
screen.blocked.header=<span dir='rtl'>\u062F\u0633\u062A\u0631\u0633\u06CC \u0645\u0645\u06A9\u0646 \u0646\u06CC\u0633\u062A</span>
screen.blocked.message=<span dir='rtl'>\u0628\u0647 \u062F\u0641\u0639\u0627\u062A \u0628\u0631\u0627\u06CC \u0646\u0627\u0645 \u06A9\u0627\u0631\u0628\u0631\u06CC\u060C \u0631\u0645\u0632 \u0648\u0631\u0648\u062F \u0631\u0627 \u0627\u0634\u062A\u0628\u0627\u0647 \u0648\u0627\u0631\u062F \u06A9\u0631\u062F\u0647\u0627\u06CC\u062F. \u0627\u0632 \u0648\u0631\u0648\u062F \u0634\u0645\u0627 \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A.</span>
#Confirmation Screen Messages
screen.confirmation.message=<span dir='rtl'>\u0628\u0631\u0627\u06CC \u0648\u0631\u0648\u062F \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 </a>\u0627\u06CC\u0646\u062C\u0627<a href=\u201D{0}\u201D> \u0631\u0627 \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F</span>
#Generic Success Screen Messages
screen.success.header=<span dir='rtl'>\u0648\u0631\u0648\u062F \u0645\u0648\u0641\u0642\u06CC\u062A \u0622\u0645\u06CC\u0632 \u0628\u0648\u062F</span>
screen.success.success=<span dir='rtl'>\u0628\u0627 \u0645\u0648\u0641\u0642\u06CC\u062A \u0648\u0627\u0631\u062F \u067E\u0627\u06CC\u06AF\u0627\u0647 \u062A\u0627\u06CC\u06CC\u062F \u0645\u0631\u06A9\u0632\u06CC CAS \u0634\u062F\u06CC\u062F</span>
screen.success.security=<span dir='rtl'>\u0628\u0647 \u062F\u0644\u0627\u06CC\u0644 \u0627\u0645\u0646\u06CC\u062A\u06CC \u0632\u0645\u0627\u0646\u06CC \u06A9\u0647 \u062F\u06CC\u06AF\u0631 \u0646\u06CC\u0627\u0632\u06CC \u0628\u0647 \u062F\u0633\u062A\u06CC\u0627\u0628\u06CC \u0628\u0647 \u0633\u0631\u0648\u06CC\u0633 \u0647\u0627\u06CC\u06CC \u06A9\u0647 \u0627\u062D\u062A\u06CC\u0627\u062C \u0628\u0647 \u062A\u0627\u06CC\u06CC\u062F \u062F\u0627\u0631\u0646\u062F \u0646\u062F\u0627\u0634\u062A\u06CC\u062F\u060C \u0627\u0632 \u067E\u0627\u06CC\u06AF\u0627\u0647 \u062E\u0627\u0631\u062C \u0634\u062F\u0647 \u0645\u0631\u0648\u0631\u06AF\u0631 \u062E\u0648\u062F \u0631\u0627 \u0628\u0628\u0646\u062F\u06CC\u062F!</span>
#Logout Screen Messages
screen.logout.header=<span dir='rtl'>\u062E\u0631\u0648\u062C \u0627\u0632 \u067E\u0627\u06CC\u06AF\u0627\u0647 \u0645\u0648\u0641\u0642\u06CC\u062A \u0622\u0645\u06CC\u0632 \u0628\u0648\u062F</span>
screen.logout.success=<span dir='rtl'>\u0628\u0627 \u0645\u0648\u0641\u0642\u06CC\u062A \u0627\u0632 \u067E\u0627\u06CC\u06AF\u0627\u0647 \u062A\u0627\u06CC\u06CC\u062F \u0645\u0631\u06A9\u0632\u06CC CAS \u062E\u0627\u0631\u062C \u0634\u062F\u06CC\u062F</span>
screen.logout.security=<span dir='rtl'>\u0628\u0631\u0627\u06CC \u062D\u0641\u0638 \u0627\u0645\u0646\u06CC\u062A \u0627\u0632 \u0645\u0631\u0648\u0631\u06AF\u0631 \u062E\u0648\u062F \u062E\u0627\u0631\u062C \u0634\u0648\u06CC\u062F</span>
screen.service.sso.error.header=<span dir='rtl'>\u0628\u0631\u0627\u06CC \u062F\u0633\u062A\u0631\u0633\u06CC \u0628\u0647 \u0627\u06CC\u0646 \u0633\u0631\u0648\u06CC\u0633 \u0646\u06CC\u0627\u0632 \u0628\u0647 \u062A\u0627\u06CC\u06CC\u062F \u062F\u0648\u0628\u0627\u0631\u0647 \u062F\u0627\u0631\u06CC\u062F</span>
screen.service.sso.error.message=<span dir='rtl'>\u0633\u0639\u06CC \u062F\u0627\u0634\u062A\u06CC\u062F \u0628\u062F\u0648\u0646 \u062A\u0627\u06CC\u06CC\u062F \u062F\u0648\u0628\u0627\u0631\u0647\u060C \u0628\u0647 \u0633\u0631\u0648\u06CC\u0633\u06CC \u062F\u0633\u062A\u0631\u0633\u06CC \u067E\u06CC\u062F\u0627 \u06A9\u0646\u06CC\u062F \u06A9\u0647 \u0646\u06CC\u0627\u0632 \u0628\u0647 \u062A\u0627\u06CC\u06CC\u062F \u062F\u0627\u0631\u062F. \u0644\u0637\u0641\u0627\u064B \u0628\u0639\u062F \u0627\u0632 </a>\u062A\u0627\u06CC\u06CC\u062F <a href=\u201D{0}\u201D> \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F</span>
username.required=\u0648\u0627\u0631\u062F \u06A9\u0631\u062F\u0646 \u0646\u0627\u0645 \u06A9\u0627\u0631\u0628\u0631\u06CC \u0627\u0644\u0632\u0627\u0645\u06CC \u0627\u0633\u062A
password.required=\u0648\u0627\u0631\u062F \u06A9\u0631\u062F\u0646 \u0631\u0645\u0632 \u0648\u0631\u0648\u062F \u0627\u0644\u0632\u0627\u0645\u06CC \u0627\u0633\u062A
error.authentication.credentials.bad=\u0646\u0627\u0645 \u06A9\u0627\u0631\u0628\u0631\u06CC \u0648 \u0631\u0645\u0632 \u0648\u0631\u0648\u062F \u0635\u062D\u06CC\u062D \u0646\u0645\u06CC\u0628\u0627\u0634\u062F
error.authentication.credentials.unsupported=>CAS \u0627\u06CC\u0646 \u0646\u0627\u0645 \u06A9\u0627\u0631\u0628\u0631\u06CC \u0648 \u0631\u0645\u0632 \u0648\u0631\u0648\u062F \u0631\u0627 \u067E\u0634\u062A\u06CC\u0627\u0646\u06CC \u0646\u0645\u06CC\u06A9\u0646\u062F
INVALID_REQUEST_PROXY=\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627\u06CC pgt \u0648 targetService \u0647\u0631 \u062F\u0648 \u0627\u0644\u0632\u0627\u0645\u06CC \u0647\u0633\u062A\u0646\u062F
INVALID_TICKET_SPEC=\u0634\u0646\u0627\u0633\u0647 \u0645\u0648\u0631\u062F \u062A\u0627\u06CC\u06CC\u062F \u0642\u0631\u0627\u0631 \u0646\u06AF\u0631\u0641\u062A. \u062E\u0637\u0627\u0647\u0627\u06CC \u0645\u0645\u06A9\u0646 \u0645\u06CC\u062A\u0648\u0627\u0646\u062F \u0634\u0627\u0645\u0644 \u0633\u0639\u06CC \u062F\u0631 \u0645\u0648\u0631\u062F \u062A\u0627\u06CC\u06CC\u062F \u0642\u0631\u0627\u0631 \u062F\u0627\u062F\u0646 \u0634\u0646\u0627\u0633\u0647-\u06CC \u067E\u0631\u0627\u06A9\u0633\u06CC \u0627\u0632 \u0637\u0631\u06CC\u0642 \u0633\u06CC\u0633\u062A\u0645 \u062A\u0627\u06CC\u06CC\u062F \u06A9\u0646\u0646\u062F\u0647\u06CC \u0634\u0646\u0627\u0633\u0647\u06CC \u0633\u0631\u0648\u06CC\u0633 \u06CC\u0627 \u0647\u0645\u062E\u0648\u0627\u0646\u06CC \u0646\u062F\u0627\u0634\u062A\u0646 \u0628\u0627 \u062F\u0631\u062E\u0648\u0627\u0633\u062A \u062A\u062C\u062F\u06CC\u062F \u0634\u062F\u0647 \u0628\u0627\u0634\u062F.
INVALID_REQUEST=\u067E\u0627\u0631\u0627\u0645\u062A\u0631\u0647\u0627\u06CC service\u0648 ticket \u0647\u0631 \u062F\u0648 \u0627\u0644\u0632\u0627\u0645\u06CC \u0647\u0633\u062A\u0646\u062F
INVALID_TICKET=\u0634\u0646\u0627\u0633\u0647 {0} \u0634\u0646\u0627\u0633\u0627\u06CC\u06CC \u0646\u0634\u062F
INVALID_SERVICE=\u0634\u0646\u0627\u0633\u0647 {0} \u0628\u0627 \u0633\u0631\u0648\u06CC\u0633 \u0639\u0631\u0636\u0647 \u0634\u062F\u0647 \u0647\u0645\u062E\u0648\u0627\u0646\u06CC \u0646\u062F\u0627\u0631\u062F. \u0633\u0631\u0648\u06CC\u0633 \u0627\u0635\u0644\u06CC{1} \u0648 \u0633\u0631\u0648\u06CC\u0633 \u0639\u0631\u0636\u0647 \u0634\u062F\u0647{2} \u0628\u0648\u062F\u0647 \u0627\u0633\u062A.
screen.service.error.header=<span dir='rtl'>\u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 CAS \u062A\u0627\u06CC\u06CC\u062F \u0646\u0634\u062F\u0647 \u0627\u0633\u062A</span>
screen.service.error.message=<span dir='rtl'>\u0628\u0631\u0646\u0627\u0645\u0647\u0627\u06CC \u06A9\u0647 \u0633\u0639\u06CC \u062F\u0631 \u062A\u0627\u06CC\u06CC\u062F \u0622\u0646 \u062F\u0627\u0634\u062A\u06CC\u062F\u060C \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0627\u0632 CAS \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A.</span>
# @author Nebojsa Topolscak <topsi at srce dot hr>
# @author Jasmina Plavac
# University Computing Center - Zagreb, Croatia
# @since 3.1.1
#Welcome Screen Messages
screen.welcome.welcome=\u010cestitamo na uspje\u0161noj instalaciji CAS-a! Inicijalni autentikacijski mehanizam obavlja uspje\u0161nu autentikaciju uno\u0161enjem korisni\u010dkog imena i zaporke iste vrijednosti. Isprobajte!
screen.welcome.security=Iz sigurnosnih razloga molimo vas da se odjavite i zatvorite web preglednik nakon \u0161to zavr\u0161ite s radom u aplikacijama koje zahtijevaju autentikaciju.
screen.welcome.instructions=Unesite korisni\u010dko ime i zaporku.
screen.welcome.label.netid=<span class="accesskey">K</span>orisni\u010dko ime:
screen.welcome.label.netid.accesskey=k
screen.welcome.label.password=<span class="accesskey">Z</span>aporka:
screen.welcome.label.password.accesskey=z
screen.welcome.label.warn=<span class="accesskey">U</span>pozori me prije prijave u druge aplikacije.
screen.welcome.label.warn.accesskey=u
screen.welcome.button.login=PRIJAVA
screen.welcome.button.clear=PONI\u0160TI
#Confirmation Screen Messages
screen.confirmation.message=Pritisnite <a href="{0}">ovdje</a> za ulaz u aplikaciju.
#Generic Success Screen Messages
screen.success.header=Uspje\u0161na prijava
screen.success.success=Uspje\u0161no ste se prijavili u Centralni autentikacijski servis.
screen.success.security=Iz sigurnosnih razloga molimo vas da se odjavite i zatvorite web preglednik nakon \u0161to zavr\u0161ite s radom u aplikacijama koje zahtijevaju autentikaciju.
#Logout Screen Messages
screen.logout.header=Uspje\u0161na odjava
screen.logout.success=Uspje\u0161no ste se odjavili iz Centralnog autentikacijskog servisa
screen.logout.security=Iz sigurnosnih razloga zatvorite web preglednik.
screen.service.sso.error.header=Za pristup ovom servisu potrebna je ponovna autentikacija.
screen.service.sso.error.message=Poku\u0161ali ste pristupiti servisu koji zahtijeva autentikaciju, pri \u010demu se niste ponovno autenticirali. Molimo vas poku\u0161ajte se ponovno autenticirati pritiskom <a href="{0}">ovdje</a>.
username.required=Korisni\u010dko ime je obavezno polje.
password.required=Zaporka je obavezno polje.
error.authentication.credentials.bad=Korisni\u010dko ime i(li) zaporka nisu ispravni.
error.authentication.credentials.unsupported=CAS ne podr\u017eava ovaj na\u010din autentikacije.
INVALID_REQUEST_PROXY=Parametri 'pgt' i 'targetService' su obavezni.
INVALID_TICKET_SPEC=Ticket nije pro\u0161ao provjeru ispravnosti. Ova pogre\u0161ka mo\u017ee upu\u0107ivati na poku\u0161aj provjere ispravnosti Proxy Ticketa pomo\u0107u Service Ticket validatora ili na neudovoljavanje zahtjevu uz parametar renew=true.
INVALID_REQUEST=Parametri 'service' i 'ticket' su obavezni
INVALID_TICKET=Ticket ''{0}'' nije prepoznat.
INVALID_SERVICE=Ticket ''{0}'' ne odgovara ovom servisu. Orginalni servis bio je ''{1}'', a isporu\u010deni servis bio je ''{2}''.
screen.service.error.header=Aplikacija nije autorizirana za uporabu CAS-a
screen.service.error.message=Aplikacia u koju ste se poku\u0161ali prijaviti nije autorizirana za uporabu CAS-a.
#Author: Roberto Cosenza http://robcos.com
#Version: $Revision$ $Date$
#Since: 3.0.5
#Welcome Screen Messages
screen.welcome.welcome=Benvenuti al Central Authentication Service (CAS).
screen.welcome.security=Per motivi di sicurezza dovresti effettuare il logout e chiudere tutte le finestre del browser quando hai finito di utilizzare servizi che necessitano autenticazione.
screen.welcome.instructions=Inserisci login e password
screen.welcome.label.netid=<span class="accesskey">L</span>ogin:
screen.welcome.label.netid.accesskey=L
screen.welcome.label.password=<span class="accesskey">P</span>assword:
screen.welcome.label.password.accesskey=P
screen.welcome.label.warn=<span class="accesskey">A</span>vvisami prima di autenticarmi su un altro sito
screen.welcome.label.warn.accesskey=A
screen.welcome.button.login=LOGIN
screen.welcome.button.clear=ANNULLA
# Blocked Errors Page
screen.blocked.header=Accesso Negato
screen.blocked.message=� stata inserita la password sbagliata troppe volte. L'account � stato bloccato.
#Confirmation Screen Messages
screen.confirmation.message=Clicca <a href="{0}">qu�</a> per accedere al servizio.
#Generic Success Screen Messages
screen.success.header=Login eseguito correttamente
screen.success.success=Hai effettuato il login al Central Authentication Service.
screen.success.security=Per motivi di sicurezza dovresti effettuare il logout e chiudere tutte le finestre del browser quando hai finito di utilizzare servizi che necessitano autenticazione.
#Logout Screen Messages
screen.logout.header=Logout effettuato con successo
screen.logout.success=Hai correttamente effettuato il logout dal Central Authentication Service.
screen.logout.security=Per motivi di sicurezza, si consiglia di chiudere tutte le finestre del browser.
screen.service.sso.error.header=� necessario effettuare nuovamente l'autenticazione per avere l'accesso a questo servizio
screen.service.sso.error.message=Si � tentato di accedere a un servizio che richiede di effettuare nuovamente l'autenticazione. Si prega di <a href="{0}">autenticarsi nuovamente</a>.
username.required=Il campo login � obbligatorio
password.required=Il campo password � obbligatorio
error.authentication.credentials.bad=Login o password errate
error.authentication.credentials.unsupported=Le credenziali utilizzate non sono supportate da CAS
INVALID_REQUEST_PROXY=I parametri 'pgt' e 'targetService' sono entrambi obbligatori
INVALID_TICKET_SPEC=La convalida del Ticket non ha avuto successo. Una possibile causa di errore potrebbe essere il tentativo di convalidare un Proxy Ticket via un Service Ticket validator.
INVALID_REQUEST=I parametri 'service' e 'ticket' sono entrambi obbligatori
INVALID_TICKET=Il ticket ''{0}'' non � stato riconosciuto
INVALID_SERVICE=Il ticket ''{0}'' non corrisponde a nessun servizio disponibile
#Service Error Messages
screen.service.error.header=Servizio non autorizzato.
screen.service.error.message=Il servizio a cui stai cercando di accedere non � configurato per CAS
# LPPE Account Error
screen.accounterror.password.message=La data di rinnovo della password non � specificata, � scaduta o non valida. Si prega di contattare l'amministratore di sistema per recuperare le credenziali di accesso.
# LPPE Account Disabled
screen.accountdisabled.heading=Questo account � disabilitato.
screen.accountdisabled.message=Si prega di contattare l'amministratore di sistema per recuperare le credenziali di accesso.
# LPPE Password Expired
screen.expiredpass.heading=La vostra password � scaduta.
screen.expiredpass.message=Si prega di <a href="{0}">cambiare la password</a>.
# LPPE Password Must be changed
screen.mustchangepass.heading=La password deve essere cambiata.
screen.mustchangepass.message=Si prega di <a href="{0}">cambiare la password</a>.
# LPPE Login out of authorized hours
screen.badhours.heading=Non si � autorizzati a effettuare il login a quest'ora.
screen.badhours.message=Si prega di riprovare pi� tardi.
# LPPE Login out of authorized workstations
screen.badworkstation.heading=Non si � autorizzati a effettuare il login da questa postazione.
screen.badworkstation.message=Si prega di conttattare l'amministratore di sistema per recuperare le credenziali d'accesso.
#Author: Shoji Kajita <kajita@nagoya-u.jp>
#Version: $Revision$ $Date$
#Since: 3.1
#Welcome Screen Messages
screen.welcome.welcome=\u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059! CAS \u3092\u30aa\u30f3\u30e9\u30a4\u30f3\u306b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\uff0e\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u8a8d\u8a3c\u30cf\u30f3\u30c9\u30e9\u3067\u306f\uff0c\u30e6\u30fc\u30b6\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u540c\u3058\u3068\u304d\u306b\u8a8d\u8a3c\u3055\u308c\u307e\u3059\uff0e\u305c\u3072\uff0c\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\uff0e
screen.welcome.security=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4e0a\u306e\u7406\u7531\u304b\u3089\uff0c\u8a8d\u8a3c\u304c\u5fc5\u8981\u306a\u30b5\u30fc\u30d3\u30b9\u306e\u30a2\u30af\u30bb\u30b9\u7d42\u4e86\u6642\u306b\u306f\uff0c\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3092\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\uff0c\u7d42\u4e86\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
screen.welcome.instructions=\u30cd\u30c3\u30c8ID \u304a\u3088\u3073\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044
screen.welcome.label.netid=\u30cd\u30c3\u30c8ID:
screen.welcome.label.netid.accesskey=n
screen.welcome.label.password=\u30d1\u30b9\u30ef\u30fc\u30c9:
screen.welcome.label.password.accesskey=p
screen.welcome.label.warn=\u4ed6\u306e\u30b5\u30a4\u30c8\u306b\u30ed\u30b0\u30a4\u30f3\u3059\u308b\u524d\u306b\u8b66\u544a\u3092\u51fa\u3059\uff0e
screen.welcome.label.warn.accesskey=w
screen.welcome.button.login=\u30ed\u30b0\u30a4\u30f3
screen.welcome.button.clear=\u30af\u30ea\u30a2
#Confirmation Screen Messages
screen.confirmation.message=<a href="{0}">\u3053\u3053</a>\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u79fb\u52d5\u3057\u307e\u3059\uff0e
#Generic Success Screen Messages
screen.success.header=\u30ed\u30b0\u30a4\u30f3\u3057\u307e\u3057\u305f
screen.success.success=Central Authentication Service \u306b\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u307e\u3057\u305f\uff0e
screen.success.security=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4e0a\u306e\u7406\u7531\u304b\u3089\uff0c\u8a8d\u8a3c\u304c\u5fc5\u8981\u306a\u30b5\u30fc\u30d3\u30b9\u306e\u30a2\u30af\u30bb\u30b9\u7d42\u4e86\u6642\u306b\u306f\uff0c\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3092\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\uff0c\u7d42\u4e86\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
#Logout Screen Messages
screen.logout.header=\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f
screen.logout.success=Central Authentication Service \u3092\u30ed\u30b0\u30a2\u30a6\u30c8\u3067\u304d\u307e\u3057\u305f\uff0e
screen.logout.security=\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4e0a\u306e\u7406\u7531\u304b\u3089\uff0c\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3092\u7d42\u4e86\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
#Service Error Messages
screen.service.error.header=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f CAS \u3092\u4f7f\u3046\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093
screen.service.error.message=\u8a8d\u8a3c\u3057\u3088\u3046\u3068\u3057\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f CAS \u3092\u4f7f\u3046\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093\uff0e
screen.service.sso.error.header=\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306b\u306f\u518d\u8a8d\u8a3c\u304c\u5fc5\u8981
screen.service.sso.error.message=\u518d\u8a8d\u8a3c\u3092\u8981\u6c42\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\uff0e<a href="{0}">\u518d\u8a8d\u8a3c</a>\u3092\u8a66\u307f\u3066\u304f\u3060\u3055\u3044\uff0e
username.required=\u30e6\u30fc\u30b6\u540d\u306f\u5fc5\u9808\u30d5\u30a3\u30fc\u30eb\u30c9\u3067\u3059\uff0e
password.required=\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5fc5\u9808\u30d5\u30a3\u30fc\u30eb\u30c9\u3067\u3059\uff0e
error.authentication.credentials.bad=\u3042\u306a\u305f\u304c\u5165\u529b\u3057\u305f\u8a8d\u8a3c\u60c5\u5831\u306f\uff0c\u8a8d\u8a3c\u53ef\u80fd\u306a\u3082\u306e\u3067\u3042\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff0e
error.authentication.credentials.unsupported=\u5165\u529b\u3057\u305f\u8a8d\u8a3c\u60c5\u5831\u306f CAS \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff0e
INVALID_REQUEST_PROXY=\u300cpgt\u300d\u304a\u3088\u3073\u300ctargetService\u300d\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u4e21\u65b9\u304c\u5fc5\u8981\u3067\u3059
INVALID_TICKET_SPEC=\u30c1\u30b1\u30c3\u30c8\u306e\u6b63\u5f53\u6027\u57fa\u6e96\u30c1\u30a7\u30c3\u30af\u306b\u5931\u6557\u3057\u307e\u3057\u305f\uff0e\u300c\u30b5\u30fc\u30d3\u30b9\u30c1\u30b1\u30c3\u30c8\u300d\u30d0\u30ea\u30c7\u30fc\u30bf\u306b\u3088\u308b\u300c\u30d7\u30ed\u30af\u30b7\u30c1\u30b1\u30c3\u30c8\u300d\u306e\u6b63\u5f53\u6027\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3063\u305f\u304b\uff0c\u66f4\u65b0\u8981\u6c42\u306e\u898f\u683c\u306b\u3042\u3063\u3066\u3044\u306a\u3044\u30b1\u30fc\u30b9\u304c\u8003\u3048\u3089\u308c\u307e\u3059\uff0e
INVALID_REQUEST=\u300cservice\u300d\u304a\u3088\u3073\u300cticket\u300d\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u4e21\u65b9\u304c\u5fc5\u8981\u3067\u3059
INVALID_TICKET=ticket\u300c{0}\u300d\u306f\u8a8d\u8b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
INVALID_SERVICE=ticket\u300c{0}\u300d\u306f\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u30b5\u30fc\u30d3\u30b9\u306b\u4e00\u81f4\u3057\u307e\u305b\u3093
# @author \u0412\u0430\u043d\u0433\u0435\u043b \u0410\u0458\u0430\u043d\u043e\u0432\u0441\u043a\u0438 <ajan at ii edu mk>
# \u0418\u043d\u0441\u0442\u0438\u0442\u0443\u0442 \u0437\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0430
# @since 3.1.1
#Welcome Screen Messages
screen.welcome.welcome=\u0414\u043e\u0431\u0440\u043e\u0434\u043e\u0458\u0434\u043e\u0432\u0442\u0435
screen.welcome.security=\u041f\u043e\u0440\u0430\u0434\u0438 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u043d\u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0438 \u0432\u0435 \u043c\u043e\u043b\u0438\u043c\u0435 \u0434\u0430 \u043d\u0435 \u0437\u0430\u0431\u043e\u0440\u0430\u0432\u0438\u0442\u0435 \u0434\u0430 \u0441\u0435 \u043e\u0434\u0458\u0430\u0432\u0438\u0442\u0435 \u0438 \u0434\u0430 \u0433\u043e \u0437\u0430\u0442\u0432\u043e\u0440\u0438\u0442\u0435 \u0432\u0430\u0448\u0438\u043e\u0442 \u043f\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u0447 \u043f\u043e \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430\u045a\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u0430 \u0441\u043e \u0430\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438\u0442\u0435.
screen.welcome.instructions=\u0412\u043d\u0435\u0441\u0435\u0442\u0435 \u043a\u043e\u0440\u0438\u0441\u043d\u0438\u0447\u043a\u043e \u0438\u043c\u0435 \u0438 \u043b\u043e\u0437\u0438\u043d\u043a\u0430.
screen.welcome.label.netid=<span class="accesskey">\u041a</span>\u043e\u0440\u0438\u0441\u043d\u0438\u0447\u043a\u043e \u0438\u043c\u0435:
screen.welcome.label.netid.accesskey=\u043a
screen.welcome.label.password=<span class="accesskey">\u041b</span>\u043e\u0437\u0438\u043d\u043a\u0430:
screen.welcome.label.password.accesskey=\u043b
screen.welcome.label.warn=<span class="accesskey">\u041f</span>\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438 \u043c\u0435 \u043f\u0440\u0438 \u043d\u0430\u0458\u0430\u0432\u0443\u0432\u0430\u045a\u0435 \u0432\u043e \u0434\u0440\u0443\u0433\u0438 \u0430\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438.
screen.welcome.label.warn.accesskey=\u043f
screen.welcome.button.login=\u041d\u0410\u0408\u0410\u0412\u0410
screen.welcome.button.clear=\u041f\u041e\u041d\u0418\u0428\u0422\u0418
#Confirmation Screen Messages
screen.confirmation.message=\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0435\u0442\u0435 <a href="{0}">\u0442\u0443\u043a\u0430</a> \u0437\u0430 \u0432\u043b\u0435\u0437 \u0432\u043e \u0430\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0458\u0430\u0442\u0430.
#Generic Success Screen Messages
screen.success.header=\u0423\u0441\u043f\u0435\u0448\u043d\u0430 \u043d\u0430\u0458\u0430\u0432\u0430
screen.success.success=\u0423\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0435 \u043d\u0430\u0458\u0430\u0432\u0438\u0432\u0442\u0435 \u043d\u0430 \u0426\u0435\u043d\u0442\u0440\u0430\u043b\u043d\u0438\u043e\u0442 \u0410\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u0441\u043a\u0438 \u0421\u0435\u0440\u0432\u0438\u0441.
screen.success.security=\u041f\u043e\u0440\u0430\u0434\u0438 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u043d\u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0438 \u0432\u0435 \u043c\u043e\u043b\u0438\u043c\u0435 \u0434\u0430 \u0441\u0435 \u043e\u0434\u0458\u0430\u0432\u0438\u0442\u0435 \u0438 \u0434\u0430 \u0433\u043e \u0437\u0430\u0442\u0432\u043e\u0440\u0438\u0442\u0435 \u0432\u0430\u0448\u0438\u043e\u0442 browser \u043f\u043e \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430\u045a\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u0430 \u0441\u043e \u0430\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438\u0442\u0435.
#Logout Screen Messages
screen.logout.header=\u0423\u0441\u043f\u0435\u0448\u043d\u0430 \u043e\u0434\u0458\u0430\u0432\u0430
screen.logout.success=\u0423\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0435 \u043e\u0434\u0458\u0430\u0432\u0438\u0432\u0442\u0435 \u043e\u0434 \u0426\u0435\u043d\u0442\u0440\u0430\u043b\u043d\u0438\u043e\u0442 \u0410\u0432\u0442\u0435\u0442\u0438\u043a\u0430\u0446\u0438\u0441\u043a\u0438 \u0421\u0435\u0440\u0432\u0438\u0441.
screen.logout.security=\u041f\u043e\u0440\u0430\u0434\u0438 \u0441\u0438\u0433\u0443\u0440\u043d\u043e\u0441\u043d\u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0438 \u0432\u0435 \u043c\u043e\u043b\u0438\u043c\u0435 \u0434\u0430 \u0433\u043e \u0437\u0430\u0442\u0432\u043e\u0440\u0438\u0442\u0435 \u0432\u0430\u0448\u0438\u043e\u0442 browser.
screen.service.sso.error.header=\u0417\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u043f \u043d\u0430 \u043e\u0432\u043e\u0458 \u0441\u0435\u0440\u0432\u0438\u0441 \u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u0458\u0430
screen.service.sso.error.message=\u0421\u0435 \u043e\u0431\u0438\u0434\u043e\u0432\u0442\u0435 \u0434\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u043f\u0438\u0442\u0435 \u043d\u0430 \u0441\u0435\u0440\u0432\u0438\u0441 \u043a\u043e\u0458 \u043f\u043e\u0431\u0430\u0440\u0443\u0432\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u0458\u0430, \u043f\u0440\u0438\u0442\u043e\u0430 \u043d\u0435 \u0441\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u0446\u0438\u0440\u0430\u043d\u0438. \u0412\u0435 \u043c\u043e\u043b\u0438\u043c\u0435 \u0434\u0430 \u0441\u0435 \u043e\u0431\u0438\u0434\u0435\u0442\u0435 \u0434\u0430 \u0441\u0435 \u0430\u0432\u0442\u0435\u0442\u0438\u043d\u0446\u0438\u0440\u0430\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0441\u043e \u043f\u0440\u0438\u0442\u0438\u0441\u043a\u0430\u045a\u0435 <a href="{0}&renew=true">\u0422\u0423\u041a\u0410</a>.
username.required=\u041a\u043e\u0440\u0438\u0441\u043d\u0438\u0447\u043a\u043e\u0442\u043e \u0438\u043c\u0435 \u0437\u0430\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0441\u0435 \u043f\u043e\u043f\u043e\u043b\u043d\u0438.
password.required=\u041b\u043e\u0437\u0438\u043d\u043a\u0430\u0442\u0430 \u0437\u0430\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0441\u0435 \u043f\u043e\u043f\u043e\u043b\u043d\u0438
error.authentication.credentials.bad=\u041a\u043e\u0440\u0438\u0441\u043d\u0438\u0447\u043a\u043e\u0442\u043e \u0438\u043c\u0435 \u0438/\u0438\u043b\u0438 \u043b\u043e\u0437\u0438\u043d\u043a\u0430\u0442\u0430 \u043d\u0435 \u0441\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043d\u0438.
error.authentication.credentials.unsupported=\u0426\u0410\u0421 \u043d\u0435 \u0433\u043e \u043f\u043e\u0434\u0434\u0440\u0436\u0443\u0432\u0430 \u043e\u0432\u043e\u0458 \u043d\u0430\u0447\u0438\u043d \u043d\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u0458\u0430.
INVALID_REQUEST_PROXY=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0442\u0435 'pgt' \u0438 'targetService' \u0441\u0435 \u0437\u0430\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438.
INVALID_TICKET_SPEC=\u0411\u0438\u043b\u0435\u0442\u043e\u0442 \u043d\u0435 \u0458\u0430 \u043f\u043e\u043c\u0438\u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0441\u0442. \u041e\u0432\u0430\u0430 \u0433\u0440\u0435\u0448\u043a\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0443\u043f\u0430\u0442\u0443\u0432\u0430 \u043d\u0430 \u043e\u0431\u0438\u0434 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0441\u0442 \u043d\u0430 \u041f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a \u0411\u0438\u043b\u0435\u0442 \u0441\u043e \u043f\u043e\u043c\u043e\u0448 \u043d\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440 \u043d\u0430 \u0421\u0435\u0440\u0432\u0438\u0441\u0435\u043d \u0411\u0438\u043b\u0435\u0442 \u0438\u043b\u0438 \u043d\u0430 \u043d\u0435\u0437\u0430\u0434\u043e\u0432\u043e\u043b\u0443\u0432\u0430\u045a\u0435 \u043d\u0430 \u0431\u0430\u0440\u0430\u045a\u0430\u0442\u0430 \u0441\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0430\u0440\u043e\u0442 renew=true.
INVALID_REQUEST=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0442\u0435 'service' \u0438 'ticket' \u0441\u0435 \u0437\u0430\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438.
INVALID_TICKET=\u0411\u0438\u043b\u0435\u0442\u043e\u0442 ''{0}'' \u043d\u0435 \u0435 \u043f\u0440\u0435\u043f\u043e\u0437\u043d\u0430\u0442.
INVALID_SERVICE=\u0411\u0438\u043b\u0435\u0442\u043e\u0442 ''{0}'' \u043d\u0435 \u043e\u0434\u0433\u043e\u0432\u0430\u0440\u0430 \u043d\u0430 \u043e\u0432\u043e\u0458 \u0441\u0435\u0440\u0432\u0438\u0441. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u043d\u0438\u043e\u0442 \u0441\u0435\u0440\u0432\u0438\u0441 \u0431\u0435\u0448\u0435 ''{1}'', \u0430 \u0438\u0441\u043f\u043e\u0440\u0430\u0447\u0430\u043d\u0438\u043e\u0442 \u0441\u0435\u0440\u0432\u0438\u0441 \u0435 ''{2}''.
screen.service.error.header=\u0410\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0458\u0430\u0442\u0430 \u043d\u0435 \u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u0430\u043d\u0430 \u0437\u0430 \u043a\u043e\u0440\u0438\u0441\u0442\u0435\u045a\u0435 \u043d\u0430 \u0426\u0410\u0421
screen.service.error.message=\u0410\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0458\u0430\u0442\u0430 \u0432\u043e \u043a\u043e\u0458\u0430 \u0441\u0435 \u043e\u0431\u0438\u0434\u0443\u0432\u0430\u0442\u0435 \u0434\u0430 \u0441\u0435 \u043d\u0430\u0458\u0430\u0432\u0438\u0442\u0435 \u043d\u0435 \u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u0430\u043d\u0430 \u0437\u0430 \u043a\u043e\u0440\u0438\u0441\u0442\u0435\u045a\u0435 \u043d\u0430 \u0426\u0410\u0421.
#Author: Jan "Velpi" Van der Velpen
#Since 3.0.3
screen.welcome.welcome=Proficiat met de succesvolle installatie van CAS! Met de standaard "authentication handler" kan je ingeloggen als de gebruikersnaam gelijk is aan het wachtwoord. Je kan het nu proberen.
screen.welcome.security=Voor de veiligheid moet je uitloggen en je browser sluiten wanneer je geen toegang meer nodig hebt tot afgeschermde applicaties!
screen.welcome.instructions=Om verder te gaan dien je jezelf te authenticeren.
screen.welcome.label.netid.accesskey=g
screen.welcome.label.netid=<span class="accesskey">G</span>ebruikersnaam:
screen.welcome.label.password=<span class="accesskey">W</span>achtwoord:
screen.welcome.label.password.accesskey=w
screen.welcome.label.warn=<span class="accesskey">V</span>raag toestemming vooraleer me ingelogd door te sturen naar andere sites.
screen.welcome.label.warn.accesskey=v
screen.welcome.button.login=LOGIN
screen.welcome.button.clear=CLEAR
#Confirmation Screen Messages
screen.confirmation.message=<a href="{0}">Doorgaan naar de applicatie.</a>
#Generic Success Screen Messages
screen.success.header=Succesvol ingelogd.
screen.success.success=Je bent ingelogd bij de Central Authentication Service.
screen.success.security=Voor de veiligheid moet je uitloggen en je browser sluiten wanneer je geen toegang meer nodig hebt tot afgeschermde applicaties!
#Logout Screen Messages
screen.logout.header=Succesvol uitgelogd.
screen.logout.success=Je bent nu uitgelogd bij de Central Authentication Service.
screen.logout.security=Voor de veiligheid dien je je browser nu af te sluiten.
username.required=Gelieve een gebruikersnaam in te vullen.
password.required=Gelieve een wachtwoord in te vullen.
error.authentication.credentials.bad=De combinatie van gebruikersnaam en wachtwoord was niet juist.
error.authentication.credentials.unsupported=De verstuurde identificatiegegevens worden niet ondersteund door CAS.
INVALID_REQUEST_PROXY='pgt' en 'targetService' zijn verplichte parameters.
INVALID_TICKET_SPEC=Het ticket kwam niet overeen met de specificatie voor validatie. Misschien probeer je een Proxy Ticket te valideren op de Service Ticket validator, of komt "renew true" niet overeen.
INVALID_REQUEST='service' en 'ticket' zijn verplichte parameters.
INVALID_TICKET=ticket ''{0}'' is niet gekend.
INVALID_SERVICE=ticket ''{0}'' komt niet overeen met de opgegeven service.
screen.service.error.header=Geen toegang.
screen.service.error.message=De applicatie waarvoor je toegang vroeg heeft geen toestemming om deze CAS te gebruiken.
#Welcome Screen Messages
screen.welcome.welcome=Parab\u00e9ns por colocar o CAS no ar! O autenticador padr\u00e3o usa Nome de Usu\u00e1rio igual a Senha: v\u00e1 em frente e tente!
screen.welcome.security=Por raz\u00f5es de seguran\u00e7a, por favor deslogue e feche o seu navegador quando terminar de acessar os servi\u00e7os que precisam de autentica\u00e7\u00e3o!
screen.welcome.instructions=Entre com seu usu\u00e1rio e Senha
screen.welcome.label.netid=<span class="accesskey">U</span>su\u00e1rio:
screen.welcome.label.netid.accesskey=u
screen.welcome.label.password=<span class="accesskey">S</span>enha:
screen.welcome.label.password.accesskey=s
screen.welcome.label.warn=<span class="accesskey">A</span>visar anter de logar em outros sites.
screen.welcome.label.warn.accesskey=a
screen.welcome.button.login=ENTRAR
screen.welcome.button.clear=LIMPAR
#Confirmation Screen Messages
screen.confirmation.message=Clique <a href="{0}">aqui</a> para ir para a aplica\u00e7\u00e3o.
#Generic Success Screen Messages
screen.success.header=Sucesso ao se logar
screen.success.success=Voc\u00ea se logou com sucesso no Servi\u00e7o de Autentica\u00e7\u00e3o Central.
screen.success.security=Por raz\u00f5es de seguran\u00e7a, por favor efetue um Logout e feche seu navegador quando voc\u00ea terminar de acessar os servi\u00e7os que precisam de autentica\u00e7\u00e3o!
#Logout Screen Messages
screen.logout.header=Sucesso ao se deslogar
screen.logout.success=Voc\u00ea se deslogou com sucesso no Servi\u00e7o de Autentica\u00e7\u00e3o Central.
screen.logout.security=Por raz\u00f5es de seguran\u00e7a, feche o seu navegador.
screen.service.sso.error.header=Re-Autenti\u00e7\u00e3o Obrigat\u00f3ria para Acessar esse Servi\u00e7o
screen.service.sso.error.message=Voc\u00ea tentou acessar um servi\u00e7o que necessita de autentica\u00e7\u00e3o sem re-autentica\u00e7\u00e3o. Por favor, tente <a href="{0}">autenticar novamente</a>.
username.required=Usu\u00e1rio \u00e9 um campo obrigat\u00f3rio.
password.required=Senha \u00e9 um campo obrigat\u00f3rio.
error.authentication.credentials.bad=Usu\u00e1rio ou senha inv\u00e1lidos.
error.authentication.credentials.unsupported=As credenciais fornecidas n\u00e3o n\u00e3o suportadas pelo CAS.
INVALID_REQUEST_PROXY='pgt' e 'targetService' s\u00e3o par\u00e2metros obrigat\u00f3rios
INVALID_TICKET_SPEC=O Ticket falhou a valida\u00e7\u00e3o da especifica\u00e7\u00e3o. Possiveis erros incluem tentativa de validar um Proxy Ticket por meio de um validador Service Ticket, ou n\u00e3o estar de acordo com o pedido de renova\u00e7\u00e3o.
INVALID_REQUEST='service' e 'ticket' s\u00e3o par\u00e2metros obrigat\u00f3rios
INVALID_TICKET=ticket ''{0}'' n\u00e3o reconhecido
INVALID_SERVICE=ticket ''{0}'' n\u00e3o casa com o servi\u00e7o fornecido. O servi\u00e7o original era ''{1}'' e o servi\u00e7o fornecido era ''{2}''.
screen.service.error.header=Aplica\u00e7\u00e3o n\u00e3o Autorizada a usar o CAS
screen.service.error.message=A aplica\u00e7\u00e3o que voc\u00ea tentou autenticar n\u00e3o \u00e9 autorizada a usar o CAS.
#Welcome Screen Messages
screen.welcome.welcome=Parab\u00e9ns! O CAS est\u00e1 agora online! O autenticador padr\u00e3o usa o nome de utilizador igual \u221a\u2020 palavra-passe: v\u00e1 em frente e experimente!
screen.welcome.security=Por quest\u00f5es de seguran\u00e7a, por favor feche o seu browser quando terminar de aceder aos servi\u00e7os que necessitam de autentica\u00e7\u00e3o!
screen.welcome.instructions=Insira o seu utilizador e respectiva palavra-passe
screen.welcome.label.netid=<span class="accesskey">U</span>tilizador:
screen.welcome.label.netid.accesskey=u
screen.welcome.label.password=<span class="accesskey">P</span>alavra-passe:
screen.welcome.label.password.accesskey=p
screen.welcome.label.warn=<span class="accesskey">A</span>vise-me antes de entrar noutros sites.
screen.welcome.label.warn.accesskey=A
screen.welcome.button.login=ENTRAR
screen.welcome.button.clear=LIMPAR
# Blocked Errors Page
screen.blocked.header=Accesso Bloqueado
screen.blocked.message=Inseriu a palavra-chave incorrectamente demasiadas vezes. A sua conta foi bloqueada.
#Confirmation Screen Messages
screen.confirmation.message=Clique <a href="{0}">aqui</a> para ir para a aplica\u00e7\u00e3o.
#Generic Success Screen Messages
screen.success.header=Sess\u00e3o iniciada com sucesso.
screen.success.success=A sua sess\u00e3o no Servi\u00e7o de Autentica\u00e7\u00e3o Central foi iniciada com sucesso.
screen.success.security=Por raz\u00f5es de seguran\u00e7a, por favor fa\u00e7a Logout e feche o seu browser quando terminar de aceder aos servi\u00e7os que necessitam de autentica\u00e7\u00e3o!
#Logout Screen Messages
screen.logout.header=Sess\u00e3o terminada com sucesso.
screen.logout.success=A sua sess\u00e3o no Servi\u00e7o de Autentica\u00e7\u00e3o Central foi terminada com sucesso.
screen.logout.security=Por raz\u00f5es de seguran\u00e7a, por favor feche o seu browser.
screen.service.sso.error.header=\u221a\u00e2 necess\u221a\u00b0ria reautentica\u221a\u00df\u221a\u00a3o para aceder a este servi\u221a\u00dfo
screen.service.sso.error.message=Voc\u221a\u2122 tentou o acesso a um servi\u221a\u00dfo que requer reautentica\u221a\u00df\u221a\u00a3o sem a efectuar. Por favor tente <a href="{0}">autenticar-se novamente</a>.
username.required=Utilizador \u221a\u00a9 um campo obrigat\u221a\u2265rio.
password.required=Palavra-passe \u221a\u00a9 um campo obrigat\u221a\u2265rio.
error.authentication.credentials.bad=Utilizador ou palavra-passe inv\u221a\u00b0lidos.
error.authentication.credentials.unsupported=As credenciais fornecidas n\u221a\u00a3o s\u221a\u00a3o suportadas pelo Servi\u221a\u00dfo de Autentica\u221a\u00df\u221a\u00a3o Central.
INVALID_REQUEST_PROXY=Os par\u221a\u00a2metros 'pgt' e 'targetService' s\u221a\u00a3o obrigat\u221a\u2265rios
INVALID_TICKET_SPEC=O Ticket falhou a valida\u221a\u00df\u221a\u00a3o de especifica\u221a\u00df\u221a\u00a3o. Poder\u221a\u00a3o ser causas a tentativa de validar um Proxy Ticket atr\u221a\u00b0v\u221a\u00a9s de um validador Service Ticket ou n\u221a\u00a3o estar de acordo com o pedido de renova\u221a\u00df\u221a\u00a3o.
INVALID_REQUEST=Os par\u221a\u00a2metros 'service' e 'ticket' s\u221a\u00a3o obrigat\u221a\u2265rios
INVALID_TICKET=ticket ''{0}'' n\u221a\u00a3o reconhecido
INVALID_SERVICE=ticket ''{0}'' n\u221a\u00a3o coincide com o servi\u221a\u00dfo fornecido. O servi\u221a\u00dfo original foi ''{1}'' e o servi\u221a\u00dfo fornecido foi ''{2}''.
screen.service.error.header=Aplica\u221a\u00df\u221a\u00a3o n\u221a\u00a3o autorizada a usar o Servi\u221a\u00dfo de Autentica\u221a\u00df\u221a\u00a3o Central
screen.service.error.message=A aplica\u221a\u00df\u221a\u00a3o onde se tentou autenticar n\u221a\u00a3o est\u221a\u00b0 autorizada a usar o Servi\u221a\u00dfo de Autentica\u221a\u00df\u221a\u00a3o Central
#Welcome Screen Messages
screen.welcome.welcome=Dobrodo\u0161li v ARNES CAS online\! Uporabite uporabni\u0161ko ime in geslo, ki vam ga je dodeli administrator ARNES organizacije
screen.welcome.security=Zaradi varnostnih razlogov, prosimo, da naredite odjavo in zaprete brskalnik, ko zapustite spletni vir, ki je zahteval va\u0161o avtentikacijo.
screen.welcome.instructions=Vpi\u0161ite va\u0161o uporabni\u0161ko ime(eduprincipalName\: ime@arnes.si) in geslo.
screen.welcome.label.netid=<span class\="accesskey">edu</span>PersonPrincipalName\:
screen.welcome.label.netid.accesskey=n
screen.welcome.label.password=<span class\="accesskey">G</span>eslo\:
screen.welcome.label.password.accesskey=p
screen.welcome.label.warn=<span class\="accesskey">O</span>pozori me, ko naredim novo prijavo v drugi spletni vir.
screen.welcome.label.warn.accesskey=w
screen.welcome.button.login=Prijava
screen.welcome.button.clear=ZBRI\u0160I
#Confirmation Screen Messages
screen.confirmation.message=Klikni <a href\="{0}">tukaj</a> za vstop v aplikacijo.
#Generic Success Screen Messages
screen.success.header=Prijava uspela
screen.success.success=Uspe\u0161no ste se prijavili v Centralno Avtenikacijsko Storitev.
screen.success.security=Zaradi varnostnih razlogov, prosimo, da naredite odjavo in zaprete brskalnik, ko zapustite spletni vir, ki je zahteval va\u0161o avtentikacijo.
#Logout Screen Messages
screen.logout.header=Odjava uspela
screen.logout.success=Uspe\u0161no ste se prijavili v Centralno Avtenikacijsko Storitev.
screen.logout.security=Zaradi varnostnih razlogov zaprite brskalnik
#Service Error Messages
screen.service.error.header=Ne avtorizerana Storitev
screen.service.error.message=Vstopiti ste hoteli do o spletne storitve nima dovoljenja do uporabe CAS storitve.
username.required=Uporabni\u0161ko ime je nujno vpisati\!
password.required=Geslo je nujno vpisati\!
error.authentication.credentials.bad=Veredostojnost, ki ste jo vpisali ne moremo dolo\u010Diti, da je pristno\!
error.authentication.credentials.unsupported=Veredostojnost, ki ste jo vpisali ni podprto v CAS-u\!
INVALID_REQUEST_PROXY='pgt' in 'targetService' parametra sta oba nujna\!
INVALID_TICKET_SPEC=Ne uspe\u0161na validacija zahtevka. Mo\u017Ene napake so nastale pri vklju\u010Ditvi validacije v Proxy Ticket preko Service Ticket validacije.
INVALID_REQUEST='service' in 'ticket' parametra sta oba nujna\!
INVALID_TICKET=zahtevek ''{0}'' ni prepoznana
INVALID_SERVICE=zahtevek ''{0}'' se ne ujema priskrbljeno storitvijo
#Author: Fredrik Nilsson http://www.infoflexconnect.se
#Updated 2006-08-29: Pål Axelsson & Veronika Berglund IT Support Department at Uppsala University http://www.uu.se
#Updated 2007-06-21: Pål Axelsson IT Support Department at Uppsala University http://www.uu.se
#Welcome Screen Messages
screen.welcome.welcome=Välkommen till den centrala autentiseringstjänsten CAS. När du installerat men ännu inte konfigurerat CAS kan du autentisera genom att ange samma text som både användaridentitet och lösenord för att prova CAS.
screen.welcome.security=Av säkerhetsskäl bör du logga ut och stänga webbläsaren när du är färdig med webbtjänsterna som kräver inloggning.
screen.welcome.instructions=Ange din användaridentitet och ditt lösenord.
screen.welcome.label.netid=<span class="accesskey">A</span>nvändarid:
screen.welcome.label.netid.accesskey=a
screen.welcome.label.password=<span class="accesskey">L</span>ösenord:
screen.welcome.label.password.accesskey=l
screen.welcome.label.warn=<span class="accesskey">V</span>arna mig innan jag loggar på en annan webbtjänst.
screen.welcome.label.warn.accesskey=v
screen.welcome.button.login=LOGGA IN
screen.welcome.button.clear=RENSA
#Confirmation Screen Messages
screen.confirmation.message=Klicka <a href="{0}">här</a> för att komma till webbtjänsten.
#Generic Success Screen Messages
screen.success.header=Inloggningen lyckades
screen.success.success=Du har loggat in i den centrala autentiseringstjänsten CAS.
screen.success.security=Av säkerhetsskäl bör du logga ut och stänga webbläsaren när du är färdig med webbtjänsterna som kräver inloggning.
#Logout Screen Messages
screen.logout.header=Du har loggat ut!
screen.logout.success=Du har loggat ut från den centrala autentiseringstjänsten CAS.
screen.logout.security=Av säkerhetsskäl bör du stänga din webbläsare.
screen.service.sso.error.header=Du måste logga in igen för att använda denna webbtjänst
screen.service.sso.error.message=Du försökte använda en webbtjänst som kräver att du loggar in igen för att använda den. <a href="{0}">Logga in igen</a>!
username.required=Användaridentitet är en obligatoriskt uppgift.
password.required=Lösenord är en obligatoriskt uppgift.
error.authentication.credentials.bad=Inloggningsuppgifterna du angav kunde inte valideras!
error.authentication.credentials.unsupported=Inloggningsuppgifterna du angav kan inte hanteras av CAS.
INVALID_REQUEST_PROXY=Både 'pgt' och 'targetService' är obligatoriska parametrar.
INVALID_TICKET_SPEC=Ticket-valideringen misslyckades. Möjliga fel skulle kunna vara att försöka validera en Proxy Ticket via en validator för Service Ticket, eller att en ny inloggning inte genomfördes trots begäran.
INVALID_REQUEST=Både 'service' och 'ticket' är obligatoriska parametrar.
INVALID_TICKET=ticket ''{0}'' känns inte igen.
INVALID_SERVICE=ticket ''{0}'' överenstämmer inte med angiven webbtjänst.
screen.service.error.header=Ej auktoriserad webbtjänst
screen.service.error.message=Webbtjänsten du försökter ansluta till är ej auktoriserad att använda den centrala autentiseringstjänsten CAS.
# Author : Mert Caliskan <mcaliskan@gmail.com>
# http://www.jroller.com/mert
#Welcome Screen Messages
screen.welcome.welcome=Tebrikler!, CAS'\u0131 \u00e7al\u0131\u015f\u0131r hale getirdiniz. Haz\u0131rdaki kimliklendirme mekanizmas\u0131 kullan\u0131c\u0131 ad\u0131 ve parola ayn\u0131 oldu\u011fu durumlarda giri\u015fe izin vermektedir. Hemen deneyebilirsiniz.
screen.welcome.security=G\u00fcvenli\u011finiz i\u00e7in, i\u015finiz bittikten sonra kulland\u0131\u011f\u0131n\u0131z uygulamalardan \u00e7\u0131k\u0131\u015f yap\u0131n\u0131z ve taray\u0131c\u0131n\u0131z\u0131 kapat\u0131n\u0131z.
screen.welcome.instructions=Kullan\u0131c\u0131 ad\u0131 ve parolan\u0131z\u0131 giriniz
screen.welcome.label.netid=<span class="accesskey">K</span>ullan\u0131c\u0131 Ad\u0131:
screen.welcome.label.netid.accesskey=k
screen.welcome.label.password=<span class="accesskey">P</span>arola:
screen.welcome.label.password.accesskey=p
screen.welcome.label.warn=Di\u011fer sitelere girmeden \u00f6nce beni <span class="accesskey">u</span>yar.
screen.welcome.label.warn.accesskey=u
screen.welcome.button.login=G\u0130R\u0130\u015e
screen.welcome.button.clear=TEM\u0130ZLE
#Confirmation Screen Messages
screen.confirmation.message=Uygulamaya eri\u015fmek i\u00e7in <a href="{0}">buraya</a> t\u0131klay\u0131n\u0131z.
#Generic Success Screen Messages
screen.success.header=Oturum ba\u015far\u0131yla a\u00e7\u0131ld\u0131.
screen.success.success=Merkezi Kimliklendirme Servisi'ne ba\u015far\u0131l\u0131 bir \u015fekilde giri\u015f yapt\u0131n\u0131z.
screen.success.security=G\u00fcvenlik nedenlerinden dolay\u0131, uygulamalar\u0131n kullan\u0131m\u0131 bittikten sonra sistemden \u00e7\u0131k\u0131\u015f yap\u0131p, taray\u0131c\u0131n\u0131z\u0131 kapat\u0131n\u0131z.
#Logout Screen Messages
screen.logout.header=Oturum ba\u015far\u0131yla kapat\u0131ld\u0131.
screen.logout.success=Merkezi Kimliklendirme Servisi'nden ba\u015far\u0131l\u0131 bir \u015fekilde \u00e7\u0131k\u0131\u015f yapt\u0131n\u0131z.
screen.logout.security=G\u00fcvenlik nedenlerinden dolay\u0131, taray\u0131c\u0131n\u0131z\u0131 kapan\u0131t\u0131z.
screen.service.sso.error.header=Bu servise eri\u015fim i\u00e7in tekrar kimliklendirme gerekmektedir.
screen.service.sso.error.message=Bir servise ard\u0131\u015f\u0131k kimlik onay\u0131 yaparak eri\u015fmeye \u00e7al\u0131\u015ft\u0131n\u0131z. Onay i\u00e7in l\u00fctfen tekrar <a href="{0}">t\u0131klay\u0131n\u0131z</a>.
username.required=Kullan\u0131c\u0131 Ad\u0131 girilmesi gerekli bir aland\u0131r.
password.required=Parola girilmesi gerekli bir aland\u0131r.
error.authentication.credentials.bad=Kullan\u0131c\u0131 Kodu veya Parola bilginizde yanl\u0131\u015fl\u0131k var. L\u00fctfen kontrol edip tekrar deneyiniz.
error.authentication.credentials.unsupported=Sa\u011flad\u0131\u011f\u0131n\u0131z kimliklendirme bilgileri Merkezi Kimliklendirme Sistemi taraf\u0131ndan tan\u0131nmamaktad\u0131r.
INVALID_REQUEST_PROXY='pgt' ve 'targetService' parametrelerinin her ikisi birden gereklidir.
INVALID_TICKET_SPEC=Bilet do\u011frulama ba\u015far\u0131s\u0131z oldu. Olas\u0131 hatalar, servis bilet do\u011frulay\u0131c\u0131 ile Vekil (Proxy) bilet do\u011frulamak veya do\u011fru yenileme iste\u011fi kural\u0131na uyulmamas\u0131 olabilir.
INVALID_REQUEST='service' ve 'ticket' parametrelerinin her ikisi birden gereklidir.
INVALID_TICKET=Tan\u0131ms\u0131z bilet: ''{0}''
INVALID_SERVICE=Bilet ''{0}'' belirtilen servis ile e\u015fle\u015fmiyor. As\u0131l servis: ''{1}'', belirtilen servis: ''{2}''.
screen.service.error.header=Uygulama, Merkezi Kimliklendirme Servisi'ni kullanmak i\u00e7in yetkilendirilmemi\u015f.
screen.service.error.message=Kimliklendirme onay\u0131 yap\u0131lmaya \u00e7al\u0131\u015f\u0131lan uygulama, Merkezi Kimliklendirme Servisi'ni kullanmak i\u00e7in yetkilendirilmemi\u015f.
#Author: Faizan Ahmed (Rutgers University)
#Since 3.0.5
#Welcome Screen Messages
screen.welcome.welcome=CAS ko online lany par Mubark baad! Default Tasdeek karney wala aap ki tasdeek iss soorat main karay ga agar password wo hi hoo jo user name hay. Aiye, aur try ki jiyay.
screen.welcome.security=Security ki wajoohat ki bina par aap mehrbani farma kar apnay web browser say Log Out aur Exit zaroor ki jiyay jub aap aisi services isstamal kar chookay hoon jo tasdeek chahti hoon.
screen.welcome.instructions=Apni Apereo ki NetID aur Password enter ki jiyay.
screen.welcome.label.netid=<span class="accesskey">N</span>etID:
screen.welcome.label.netid.accesskey=n
screen.welcome.label.password=<span class="accesskey">P</span>assword:
screen.welcome.label.password.accesskey=p
screen.welcome.label.warn=Mujay doosri sites main login karnay say pahlay <span class="accesskey">K</span>habardar karain.
screen.welcome.label.warn.accesskey=k
screen.welcome.button.login=LOGIN
screen.welcome.button.clear=CLEAR
#Confirmation Screen Messages
screen.confirmation.message=<a href="{0}">Yahan Click</a> karain agar app application main dakhil hona chahtay hain.
#Generic Success Screen Messages
screen.success.header=Log In Kamyab
screen.success.success=Aap kamyabi say Centeral Authentication Service main login hoo chokay hain.
screen.success.security=Security ki wajoohat ki bina par jub aap aisi services isstamal kar chookay hoon jo tasdeek chahti hoon tou baraye mehrbani apnay web browser say Log Out aur Exit zaroor ki jiyay
#Logout Screen Messages
screen.logout.header=Logout Kamyab
screen.logout.success=Aap kamyabi say Centeral Authentication Service say logout hoo chokay hain.
screen.logout.security=Security ki wajoohat ki bina par apnay web browser say exit karain.
#Service Error Messages
screen.service.error.header=Bay Sanud Service
screen.service.error.message=Aap jiss service kay liay tasdeek ki kooshush kar rahay thay woo service CAS istamal karnay ki mijaz nahi.
username.required=Username ka khana por karna lazmi hay.
password.required=Password ka khana por karna lazmi hay.
error.authentication.credentials.bad=Aap ka mohya kia howa waseeka (parteet puter) ki tasdeek karna momkin nahi.
error.authentication.credentials.unsupported=Aap kay mohya kiay howay waseeka (parteet puter) ko CAS support nahi karta.
INVALID_REQUEST_PROXY='pgt' aur 'targetService' parameters doonon lazmi hain.
INVALID_TICKET_SPEC=Ticket toseek ki tasreeh par poora nahi utri. Momkin gultiyoon main shamil, hoo sakta hay kay proxy ticket ki toseek ki kooshish Service ticket kay toseek kaninda say ki gai hoo, yaa 'renew true request' say iss ki mitabkat na hooti hoo.
INVALID_REQUEST='service' aur 'ticket' parameters doonon lazmi hain.
INVALID_TICKET=ticket ''{0}'' ki shnakhat nahi hoo saki.
INVALID_SERVICE=ticket ''{0}'' ki mitabkat mohya karda service say nahi hoo saki.
#Welcome Screen Messages
screen.welcome.welcome=\u6b22\u8fce\u6765\u5230\u4e2d\u592e\u8ba4\u8bc1\u7cfb\u7edf\u3002\u9ed8\u8ba4\u7684\u8ba4\u8bc1\u5904\u7406\u5668\u652f\u6301\u90a3\u4e9b\u7528\u6237\u540d\u7b49\u4e8e\u5bc6\u7801\u7684\u8d26\u53f7\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u8bd5\u8bd5\u770b\u3002
screen.welcome.security=\u51FA\u4E8E\u5B89\u5168\u8003\u8651\uFF0C\u4E00\u65E6\u60A8\u8BBF\u95EE\u8FC7\u90A3\u4E9B\u9700\u8981\u60A8\u63D0\u4F9B\u51ED\u8BC1\u4FE1\u606F\u7684\u5E94\u7528\u65F6\uFF0C\u8BF7\u64CD\u4F5C\u5B8C\u6210\u4E4B\u540E<a href="logout">\u767B\u51FA</a>\u5E76\u5173\u95ED\u6D4F\u89C8\u5668\u3002
screen.welcome.instructions=\u8bf7\u8f93\u5165\u60a8\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801.
screen.welcome.label.netid=\u7528\u6237\u540d:
screen.welcome.label.netid.accesskey=n
screen.welcome.label.password=\u5bc6\u3000\u7801:
screen.welcome.label.password.accesskey=p
screen.welcome.label.warn=\u8f6c\u5411\u5176\u4ed6\u7ad9\u70b9\u524d\u63d0\u793a\u6211\u3002
screen.welcome.label.warn.accesskey=w
screen.welcome.button.login=\u767b\u5f55
screen.welcome.button.clear=\u91cd\u7f6e
logo.title=\u8f6c\u5230Apereo\u7f51\u7ad9\u9996\u9875
copyright=\u7248\u6743\u6240\u6709 &copy; 2005&ndash;2012 Apereo, Inc. \u4fdd\u7559\u5168\u90e8\u6743\u5229\u3002
# Blocked Errors Page
screen.blocked.header=\u8bbf\u95ee\u88ab\u62d2\u7edd
screen.blocked.message=\u8f93\u9519\u5bc6\u7801\u6b21\u6570\u592a\u591a\uff0c\u8d26\u53f7\u88ab\u9501\u5b9a\u3002
#Confirmation Screen Messages
screen.confirmation.message=\u5355\u51fb <a href="{0}">\u8fd9\u91cc</a> \uff0c\u4fbf\u80fd\u591f\u8bbf\u95ee\u5230\u76ee\u6807\u5e94\u7528\u3002
#Generic Success Screen Messages
screen.success.header=\u767b\u5f55\u6210\u529f
screen.success.success=\u60a8\u5df2\u7ecf\u6210\u529f\u767b\u5f55\u4e2d\u592e\u8ba4\u8bc1\u7cfb\u7edf\u3002
screen.success.security=\u51FA\u4E8E\u5B89\u5168\u8003\u8651\uFF0C\u4E00\u65E6\u60A8\u8BBF\u95EE\u8FC7\u90A3\u4E9B\u9700\u8981\u60A8\u63D0\u4F9B\u51ED\u8BC1\u4FE1\u606F\u7684\u5E94\u7528\u65F6\uFF0C\u8BF7\u64CD\u4F5C\u5B8C\u6210\u4E4B\u540E<a href="logout">\u767B\u51FA</a>\u5E76\u5173\u95ED\u6D4F\u89C8\u5668\u3002
#Logout Screen Messages
screen.logout.header=\u6ce8\u9500\u6210\u529f
screen.logout.success=\u60a8\u5df2\u7ecf\u6210\u529f\u9000\u51faCAS\u7cfb\u7edf\uff0c\u8c22\u8c22\u4f7f\u7528\uff01
screen.logout.security=\u51fa\u4e8e\u5b89\u5168\u8003\u8651\uff0c\u8bf7\u5173\u95ed\u60a8\u7684\u6d4f\u89c8\u5668\u3002
screen.service.sso.error.header=\u5728\u8bbf\u95ee\u5230\u5230\u76ee\u6807\u670d\u52a1\u524d\uff0c\u4f60\u5fc5\u987b\u7ecf\u8fc7\u91cd\u65b0\u8ba4\u8bc1\u7684\u8003\u9a8c
screen.service.sso.error.message=\u4f60\u6b63\u8bd5\u56fe\u8bbf\u95ee\u8981\u6c42\u91cd\u65b0\u8ba4\u8bc1\u7684\u670d\u52a1\u3002\u8bf7\u5c1d\u8bd5\u8fdb\u884c<a href="{0}">\u518d\u6b21\u8ba4\u8bc1</a>\u3002
username.required=\u5fc5\u987b\u5f55\u5165\u7528\u6237\u540d\u3002
password.required=\u5fc5\u987b\u5f55\u5165\u5bc6\u7801\u3002
# Authentication failure messages
authenticationFailure.AccountDisabledException=\u8fd9\u4e2a\u8d26\u6237\u88ab\u7981\u7528\u4e86\u3002
authenticationFailure.AccountLockedException=\u8fd9\u4e2a\u8d26\u6237\u88ab\u4e0a\u9501\u4e86\u3002
authenticationFailure.CredentialExpiredException=\u4f60\u7684\u5bc6\u7801\u8fc7\u671f\u4e86\u3002
authenticationFailure.InvalidLoginLocationException=\u4f60\u4e0d\u80fd\u4ece\u8fd9\u4e2a\u5de5\u4f5c\u7ad9\u767b\u5f55\u3002
authenticationFailure.InvalidLoginTimeException=\u4f60\u7684\u8d26\u6237\u73b0\u5728\u88ab\u7981\u6b62\u767b\u5f55\u4e86\u3002
authenticationFailure.AccountNotFoundException=\u8ba4\u8bc1\u4fe1\u606f\u65e0\u6548\u3002
authenticationFailure.FailedLoginException=\u8ba4\u8bc1\u4fe1\u606f\u65e0\u6548\u3002
authenticationFailure.UNKNOWN=\u8ba4\u8bc1\u4fe1\u606f\u65e0\u6548\u3002
INVALID_REQUEST_PROXY=\u5fc5\u987b\u540c\u65f6\u63d0\u4f9b'pgt'\u548c'targetService'\u53c2\u6570
INVALID_TICKET_SPEC=\u6821\u9a8c\u7968\u6839\u5931\u8d25\u3002\u60a8\u53ef\u80fd\u91c7\u7528\u670d\u52a1\u7968\u6839\u6765\u6821\u9a8c\u4ee3\u7406\u7968\u6839\uff0c\u6216\u6ca1\u6709\u5c06renew\u8bbe\u4e3atrue\u3002
INVALID_REQUEST=\u5fc5\u987b\u540c\u65f6\u63d0\u4f9b'service'\u548c'ticket'\u53c2\u6570
INVALID_TICKET=\u672a\u80fd\u591f\u8bc6\u522b\u51fa\u76ee\u6807 ''{0}''\u7968\u6839
INVALID_SERVICE=\u7968\u6839''{0}''\u4e0d\u7b26\u5408\u76ee\u6807\u670d\u52a1
INVALID_PROXY_CALLBACK=\u6240\u63d0\u4f9b\u7684\u4ee3\u7406\u56de\u8c03\u7f51\u5740''{0}''\u4e0d\u80fd\u63d0\u4f9b\u8ba4\u8bc1\u3002
UNAUTHORIZED_SERVICE_PROXY=\u6240\u63d0\u4f9b\u7684\u670d\u52a1''{0}''\u6ca1\u6709\u6743\u9650\u4f7f\u7528CAS\u4ee3\u7406\u7684\u8ba4\u8bc1\u65b9\u5f0f\u3002
screen.service.error.header=\u672a\u8ba4\u8bc1\u6388\u6743\u7684\u670d\u52a1
screen.service.error.message=\u4e0d\u5141\u8bb8\u4f7f\u7528CAS\u6765\u8ba4\u8bc1\u60a8\u8bbf\u95ee\u7684\u76ee\u6807\u5e94\u7528\u3002
screen.service.empty.error.message=CAS\u7684\u670d\u52a1\u8bb0\u5f55\u662f\u7a7a\u7684\uff0c\u6ca1\u6709\u5b9a\u4e49\u670d\u52a1\u3002 \
\u5e0c\u671b\u901a\u8fc7CAS\u8fdb\u884c\u8ba4\u8bc1\u7684\u5e94\u7528\u7a0b\u5e8f\u5fc5\u987b\u5728\u670d\u52a1\u8bb0\u5f55\u4e2d\u660e\u786e\u5b9a\u4e49\u3002
# Password policy
password.expiration.warning=\u4f60\u7684\u5bc6\u7801\u4f1a\u5728{0}\u5929\u5185\u8fc7\u671f\u3002\u8bf7\u7acb\u523b<a href="{1}">\u4fee\u6539\u4f60\u7684\u5bc6\u7801</a>\u3002
password.expiration.loginsRemaining=\u5728<strong>\u5fc5\u987b</strong>\u4fee\u6539\u5bc6\u7801\u4e4b\u524d\uff0c\u4f60\u8fd8\u5269{0}\u6b21\u767b\u5f55\u3002
screen.accountdisabled.heading=\u8fd9\u4e2a\u8d26\u6237\u5df2\u7ecf\u88ab\u7981\u7528\u4e86\u3002
screen.accountdisabled.message=\u8bf7\u8054\u7cfb\u7cfb\u7edf\u7ba1\u7406\u5458\u6765\u91cd\u65b0\u83b7\u5f97\u8bbf\u95ee\u6743\u9650\u3002
screen.accountlocked.heading=\u8fd9\u4e2a\u8d26\u6237\u5df2\u7ecf\u88ab\u9501\u4f4f\u4e86\u3002
screen.accountlocked.message=\u8bf7\u8054\u7cfb\u7cfb\u7edf\u7ba1\u7406\u5458\u6765\u91cd\u65b0\u83b7\u5f97\u8bbf\u95ee\u6743\u9650\u3002
screen.expiredpass.heading=\u4f60\u7684\u5bc6\u7801\u5df2\u7ecf\u8fc7\u671f\u4e86\u3002
screen.expiredpass.message=\u8bf7<a href="{0}">\u4fee\u6539\u4f60\u7684\u5bc6\u7801</a>\u3002
screen.mustchangepass.heading=\u4f60\u5fc5\u987b\u4fee\u6539\u4f60\u7684\u5bc6\u7801\u3002
screen.mustchangepass.message=\u8bf7<a href="{0}">\u4fee\u6539\u4f60\u7684\u5bc6\u7801</a>\u3002
screen.badhours.heading=\u73b0\u5728\u4f60\u7684\u8d26\u6237\u88ab\u7981\u6b62\u767b\u5f55\u4e86\u3002
screen.badhours.message=\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002
screen.badworkstation.heading=\u4f60\u4e0d\u80fd\u4ece\u8fd9\u4e2a\u5de5\u4f5c\u7ad9\u767b\u5f55\u3002
screen.badworkstation.message=\u8bf7\u8054\u7cfb\u7cfb\u7edf\u7ba1\u7406\u5458\u6765\u91cd\u65b0\u83b7\u5f97\u8bbf\u95ee\u6743\u9650\u3002
# OAuth
screen.oauth.confirm.header=\u6388\u6743
screen.oauth.confirm.message=\u8981\u6388\u6743"{0}"\u8bbf\u95ee\u4f60\u5168\u90e8\u4e2a\u4eba\u4fe1\u606f\u5417\uff1f
screen.oauth.confirm.allow=\u5141\u8bb8
# Unavailable
screen.unavailable.heading=CAS\u65e0\u6cd5\u4f7f\u7528
screen.unavailable.message=\u5728\u8bd5\u56fe\u5b8c\u6210\u4f60\u7684\u8bf7\u6c42\u65f6\u51fa\u9519\u3002\u8bf7\u901a\u77e5\u4f60\u7684\u6280\u672f\u652f\u6301\u6216\u91cd\u8bd5\u3002
#Welcome Screen Messages
screen.welcome.welcome=\u6b61\u8fce\u4f86\u5230\u4e2d\u592e\u8a8d\u8b49\u7cfb\u7d71\u3002\u9ed8\u8a8d\u7684\u8a8d\u8b49\u8655\u7406\u5668\u652f\u6301\u90a3\u4e9b\u7528\u6236\u540d\u7b49\u65bc\u5bc6\u78bc\u7684\u8cec\u865f\uff0c\u958b\u767c\u8005\u53ef\u4ee5\u8a66\u8a66\u770b\u3002
screen.welcome.security=\u51FA\u65BC\u5B89\u5168\u8003\u616E\uFF0C\u4E00\u65E6\u60A8\u8A2A\u554F\u904E\u90A3\u4E9B\u9700\u8981\u60A8\u63D0\u4F9B\u6191\u8B49\u4FE1\u606F\u7684\u61C9\u7528\u6642\uFF0C\u8ACB\u64CD\u4F5C\u5B8C\u6210\u4E4B\u5F8C<a href="logout">\u767B\u51FA</a>\u4E26\u95DC\u9589\u700F\u89BD\u5668\u3002
screen.welcome.instructions=\u8acb\u8f38\u5165\u60a8\u7684\u7528\u6236\u540d\u548c\u5bc6\u78bc.
screen.welcome.label.netid=\u7528\u6236\u540d:
screen.welcome.label.netid.accesskey=n
screen.welcome.label.password=\u5bc6\u3000\u78bc:
screen.welcome.label.password.accesskey=p
screen.welcome.label.warn=\u8f49\u5411\u5176\u4ed6\u7ad9\u9ede\u524d\u63d0\u793a\u6211\u3002
screen.welcome.label.warn.accesskey=w
screen.welcome.button.login=\u767b\u9304
screen.welcome.button.clear=\u91cd\u7f6e
# Blocked Errors Page
screen.blocked.header=\u8a2a\u554f\u88ab\u62d2\u7d55
screen.blocked.message=\u8f38\u932f\u5bc6\u78bc\u6b21\u6578\u592a\u591a\uff0c\u8cec\u865f\u88ab\u9396\u5b9a\u3002
#Confirmation Screen Messages
screen.confirmation.message=\u55ae\u64ca<a href="{0}">\u9019\u88e1</a> \uff0c\u4fbf\u80fd\u5920\u8a2a\u554f\u5230\u76ee\u6a19\u61c9\u7528\u3002
#Generic Success Screen Messages
screen.success.header=\u767b\u9304\u6210\u529f
screen.success.success=\u60a8\u5df2\u7d93\u6210\u529f\u767b\u9304\u4e2d\u592e\u8a8d\u8b49\u7cfb\u7d71\u3002
screen.success.security=\u51FA\u65BC\u5B89\u5168\u8003\u616E\uFF0C\u4E00\u65E6\u60A8\u8A2A\u554F\u904E\u90A3\u4E9B\u9700\u8981\u60A8\u63D0\u4F9B\u6191\u8B49\u4FE1\u606F\u7684\u61C9\u7528\u6642\uFF0C\u8ACB\u64CD\u4F5C\u5B8C\u6210\u4E4B\u5F8C<a href="logout">\u767B\u51FA</a>\u4E26\u95DC\u9589\u700F\u89BD\u5668\u3002
#Logout Screen Messages
screen.logout.header=\u8a3b\u92b7\u6210\u529f
screen.logout.success=\u60a8\u5df2\u7d93\u6210\u529f\u9000\u51faCAS\u7cfb\u7d71\uff0c\u8b1d\u8b1d\u4f7f\u7528\uff01
screen.logout.security=\u51fa\u65bc\u5b89\u5168\u8003\u616e\uff0c\u8acb\u95dc\u9589\u60a8\u7684\u700f\u89bd\u5668\u3002
screen.service.sso.error.header=\u5728\u8a2a\u554f\u5230\u5230\u76ee\u6a19\u670d\u52d9\u524d\uff0c\u4f60\u5fc5\u9808\u7d93\u904e\u91cd\u65b0\u8a8d\u8b49\u7684\u8003\u9a57
screen.service.sso.error.message=\u4f60\u6b63\u8a66\u5716\u8a2a\u554f\u8981\u6c42\u91cd\u65b0\u8a8d\u8b49\u7684\u670d\u52d9\u3002\u8acb\u5617\u8a66\u9032\u884c<a href="{0}">\u518d\u6b21\u8a8d\u8b49</a>\u3002
username.required=\u5fc5\u9808\u9304\u5165\u7528\u6236\u540d\u3002
password.required=\u5fc5\u9808\u9304\u5165\u5bc6\u78bc\u3002
error.authentication.credentials.bad=\u60a8\u63d0\u4f9b\u7684\u6191\u8b49\u6709\u8aa4\u3002
error.authentication.credentials.unsupported=CAS\u4e0d\u652f\u6301\u60a8\u63d0\u4f9b\u7684\u6191\u8b49\u3002
INVALID_REQUEST_PROXY=\u5fc5\u9808\u540c\u6642\u63d0\u4f9b'pgt'\u548c'targetService'\u53c3\u6578
INVALID_TICKET_SPEC=\u6821\u9a57\u7968\u6839\u5931\u6557\u3002\u60a8\u53ef\u80fd\u63a1\u7528\u670d\u52d9\u7968\u6839\u4f86\u6821\u9a57\u4ee3\u7406\u7968\u6839\uff0c\u6216\u6c92\u6709\u5c07renew\u8a2d\u70batrue\u3002
INVALID_REQUEST=\u5fc5\u9808\u540c\u6642\u63d0\u4f9b'service'\u548c'ticket'\u53c3\u6578
INVALID_TICKET=\u672a\u80fd\u5920\u8b58\u5225\u51fa\u76ee\u6a19''{0}''\u7968\u6839
INVALID_SERVICE=\u7968\u6839''{0}''\u4e0d\u7b26\u5408\u76ee\u6a19\u670d\u52d9
screen.service.error.header=\u672a\u8a8d\u8b49\u6388\u6b0a\u7684\u670d\u52d9
screen.service.error.message=\u4e0d\u5141\u8a31\u4f7f\u7528CAS\u4f86\u8a8d\u8b49\u60a8\u8a2a\u554f\u7684\u76ee\u6a19\u61c9\u7528\u3002
{
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^https://www.apereo.org",
"name" : "Apereo",
"theme" : "apereo",
"id" : 10000002,
"description" : "Apereo foundation sample service",
"evaluationOrder" : 1
}
{
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^(https|imaps)://.*",
"name" : "HTTPS and IMAPS",
"id" : 10000001,
"description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
"evaluationOrder" : 10000
}
This source diff could not be displayed because it is too large. You can view the blob instead.
@import 'https://fonts.googleapis.com/css?family=PT+Mono';
#authnEvents .tabsContainer {
padding: 0 20px;
}
#authnEvents .btn .caret {
margin-left: 5px;
}
.tab-pane {
padding: 20px 10px;
border: 1px solid #ddd;
border-top: none;
}
#container {
width: 100%;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
/**
* Consent Review Styles
*/
@media only screen and (max-width: 855px) {
#consentDecisions .consent-attributes td, #consentDecisions .consent-attributes th {
padding: 4px;
}
}
#consent-decisions, #no-consent-decisions {
display: none;
}
#no-consent-decisions div {
margin-top: 2em;
}
#consentDecisions > tbody > tr:not(.info) {
cursor: pointer;
}
#consentDecisions .created-date .label {
font-size: 85%;
}
#consentDecisions .service-id {
word-wrap: break-word;
word-break: break-all;
}
#consentDecisions .consent-attributes {
margin-bottom: 0;
}
#consentDecisions tr.info .btn-danger {
float: right;
padding: .5em;
margin: 0 .2em 1em 0;
}
#alertWrapper .btn {
margin: 1em 1em 0 0;
}
#logout {
float: right;
margin: 1em;
}
@import 'https://fonts.googleapis.com/css?family=PT+Mono';
#loggingDashboard .tab-pane {
padding: 20px 10px;
border: 1px solid #ddd;
border-top: none;
}
#loggingDashboard .btn .caret {
margin-left: 5px;
}
#loggersTable td.details-control span {
cursor: pointer;
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 10pt;
color: #337ab7;
}
#loggersTable td.details-control span:after {
content: "\f067";
}
#loggersTable tr.shown td.details-control span:after {
content: "\f068";
}
.additive {
text-align: center;
}
.additive .glyphicon-ok {
color: #5cb85c;
}
.additive .glyphicon-remove {
color: #d9534f;
}
#logoutputarea {
border: 0.1em solid #ccc;
border-radius: 0.5em;
padding: 1em;
/* space on all directions */
font-family: 'PT Mono', monospace;
font-size: 1em;
width: 100%;
height: 100%;
background-color: black;
color: #39e600;
}
main.container {
max-width: 95%;
}
/* --------------- CUSTOM STYLES */
/**
* SSO Sessions Styles
*/
#cas-sessions, #no-cas-sessions {
display: none;
}
#no-cas-sessions div {
margin-top: 2em;
}
.ssoSessions #content {
border-radius: 4px;
padding: 20px;
}
.ssoSessions .sorting_desc, .ssoSessions .sorting_asc {
background-color: rgba(239, 239, 239, 0.8);
}
.ssoSessions #removeAllSessionsButton.btn .badge {
color: #000;
padding-right: 9px;
}
.ssoSessions .adminPanels {
border-bottom: 1px solid #efefef;
margin-bottom: 2em;
margin-top: 1em;
padding-bottom: 1em;
}
.ssoSessions .adminPanels .adminPanels .panel-default > .panel-heading {
background-color: #fff;
border-bottom: none;
}
.ssoSessions .adminPanels .adminPanels .panel-default > .panel-heading h3 {
font-family: 'Lato', sans-serif;
font-weight: 300;
font-size: 20pt;
}
.ssoSessions .adminPanels .adminPanels .panel-default > .panel-heading::after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
position: absolute;
top: -5px;
right: 30px;
font-size: 70pt;
color: #153e50;
opacity: 0.1;
}
.ssoSessions td.details-control {
cursor: pointer;
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 10pt;
color: #337ab7;
}
.ssoSessions td.details-control::after {
content: "\f067";
}
.ssoSessions tr.shown td.details-control::after {
content: "\f068";
}
.row-detail-wrapper {
background-color: #d9edf7;
}
.ssoSessions .row-detail {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.ssoSessions .row-detail thead {
display: none;
}
table.principal_attributes td:first-child {
width: 30%;
}
table.principal_attributes > tbody > tr > td {
border-top-color: #E6E6E6;
}
/* Session container --*/
#cas-sessions,
#container-stable,
.ui-widget {
font-family: 'Lato', sans-serif !important;
font-size: 14px;
}
#container-stable {
margin: 20px 0 20px;
}
#container-stable {
margin: 40px 0 20px;
}
#container-stable table th {
text-align: left;
}
@import 'https://fonts.googleapis.com/css?family=PT+Mono';
#trustedDevices .tabsContainer {
padding: 0 20px;
}
#trustedDevices .btn .caret {
margin-left: 5px;
}
.tab-pane {
padding: 20px 10px;
border: 1px solid #ddd;
border-top: none;
}
#container {
width: 53%;
}
var table;
$(document).ready(function () {
$('#fmrel').on('submit', function (e) {
e.preventDefault();
var username = $('#username').val();
var password = $('#password').val();
var service = $('#service').val();
releaseAttributes(username, password, service);
});
$('#fm1').on('submit', function (e) {
e.preventDefault();
var uid = $('#uid').val();
table = $('#attributesTable').DataTable();
table.clear().draw();
var status = $('#status');
if (uid !== null && uid !== '') {
resolveAttributes(uid);
status.html('Resolved attributes for username <strong>' + uid + '</strong>.');
status.removeClass('alert-danger');
status.addClass('alert-info');
status.show();
} else {
status.html('No username is provided.');
status.removeClass('alert-info');
status.addClass('alert-danger');
status.show();
}
});
if ($.fn.dataTable.isDataTable('#attributesTable')) {
table = $('#attributesTable').DataTable();
} else {
table = $('#attributesTable').DataTable({
paging: false,
searching: false
});
}
$('#status').hide();
});
function resolveAttributes(uid) {
$.ajax({
type: 'post',
url: urls.resolveAttributes,
data: {'uid': uid},
success: function (data) {
var table = $('#attributesTable').DataTable();
table.clear();
var attrs = data.attributes;
for (var property in attrs) {
if (attrs.hasOwnProperty(property)) {
table.row.add([
'<code>' + property + '</code>', '<code>' + attrs[property] + '</code>'
]).draw(false);
}
}
}
});
}
function releaseAttributes(uid, psw, service) {
$('validationresponse').empty();
$('cas1').empty();
$('cas2').empty();
$('cas3Xml').empty();
$('cas3Json').empty();
$('#submitRelease').attr('disabled', 'disabled');
$.ajax({
type: 'post',
url: urls.releaseAttributes,
data: {'username': uid, 'password': psw, 'service': service},
success: function (data) {
var html = '<ul><li>Service Id: <code>' + data.registeredService.id + '</code></li>'
+ '<li>Service Identifier: <code>' + data.registeredService.serviceId + '</code></li>'
+ '<li>Service Name: <code>' + data.registeredService.name + '</code></li>'
+ '</ul><p/>';
$('#validationresponse').html(html);
var resp = '<pre>' + JSON.stringify(data.registeredService, null, 4) + '</pre>';
$('#serviceJson').html(resp);
resp = '<pre>' + data.cas1Response + '</pre>';
$('#cas1').html(resp);
resp = '<pre>' + data.cas2Response + '</pre>';
$('#cas2').html(resp);
resp = '<pre>' + data.cas3XmlResponse + '</pre>';
$('#cas3Xml').html(resp);
resp = '<pre>' + data.cas3JsonResponse + '</pre>';
$('#cas3Json').html(resp);
},
error: function (err) {
var html = '<div class=\'alert alert-danger\'>'
+ '<h4>Response Error</h4>'
+ 'Status: <code>' + err.responseJSON.status + '</code><p/>'
+ 'Exception: <code>' + err.responseJSON.exception + '</code><p/>'
+ 'Message: <code>' + err.responseJSON.message + '</code><p/>'
+ '</div>';
$('#validationresponse').html(html);
},
complete: function() {
$('#submitRelease').removeAttr('disabled');
}
});
}
$('#myTabs a').click(function (e) {
e.preventDefault();
$(this).tab('show');
});
(function () {
var getData = function () {
$.getJSON(urls.getEvents, function (data) {
authnEventsTable(data);
});
};
var authnEventsTable = function (jsonData) {
var t = $('#authnEventsTable').DataTable({
'order': [[2, 'desc']],
retrieve: true,
columnDefs: [
{
'targets': 0,
render: function (data) {
return '<span class="glyphicon glyphicon-flash" aria-hidden="true">&nbsp;</span>' + data;
}
}
]
});
for (var i = 0; i < jsonData.length; i++) {
var rec = jsonData[i];
var type = rec.type.split('.');
t.row.add([
type[type.length - 1],
rec.principalId,
new Date(rec.creationTime*1000),
new Date(rec.timestamp),
rec.properties.agent,
rec.clientIpAddress,
rec.serverIpAddress,
rec.properties.geoLatitude === 'undefined' ? '' : Number(rec.properties.geoLatitude).toFixed(2),
rec.properties.geoLongitude === 'undefined' ? '' : Number(rec.properties.geoLongitude).toFixed(2),
rec.properties.geoAccuracy === 'undefined' ? '' : Number(rec.properties.geoAccuracy).toFixed(2)
]).draw(false);
}
};
// initialization *******
(function init () {
getData();
})();
})();
/* global trackGeoLocation, jqueryReady */
/* exported resourceLoadedSuccessfully */
function requestGeoPosition() {
// console.log('Requesting GeoLocation data from the browser...');
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showGeoPosition, logGeoLocationError,
{maximumAge: 600000, timeout: 5000, enableHighAccuracy: true});
} else {
// console.log('Browser does not support Geo Location');
}
}
function logGeoLocationError(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
// console.log('User denied the request for GeoLocation.');
break;
case error.POSITION_UNAVAILABLE:
// console.log('Location information is unavailable.');
break;
case error.TIMEOUT:
// console.log('The request to get user location timed out.');
break;
default:
// console.log('An unknown error occurred.');
break;
}
}
function showGeoPosition(position) {
$('[name="geolocation"]').val(position.coords.latitude + ','
+ position.coords.longitude + ',' + position.coords.accuracy + ',' + position.timestamp);
}
function preserveAnchorTagOnForm() {
$('#fm1').submit(function () {
var location = self.document.location;
var hash = decodeURIComponent(location.hash);
if (hash != undefined && hash != '' && hash.indexOf('#') === -1) {
hash = '#' + hash;
}
var action = $('#fm1').attr('action');
if (action == undefined) {
action = location.href;
} else {
var qidx = location.href.indexOf('?');
if (qidx != -1) {
var queryParams = location.href.substring(qidx);
action += queryParams;
}
}
action += hash;
$('#fm1').attr('action', action);
});
}
function areCookiesEnabled() {
if ($.cookie == undefined) {
return;
}
$.cookie('cookiesEnabled', 'true');
var value = $.cookie('cookiesEnabled');
$.removeCookie('cookiesEnabled');
return value != undefined;
}
function disableEmptyInputFormSubmission() {
var fields = $('#fm1 input[name="username"],[name="password"]');
if (fields.length == 2) {
fields.on('input', function (event) {
var enableSubmission = $('#fm1 input[name="username"]').val().trim() &&
$('#fm1 input[name="password"]').val().trim();
if (enableSubmission) {
$('#fm1 input[name=submit]').removeAttr('disabled');
event.stopPropagation();
} else {
$('#fm1 input[name=submit]').attr('disabled', 'true');
}
});
}
/**
* Handle auto-complete events to the extent possible.
*/
if ($('#fm1 input[name="username"]').length > 0) {
setTimeout(function () {
var uid = $('#username').val();
if (uid != null && uid != '') {
$('#username').change();
$('#username').focus();
$('#fm1 input[name=submit]').removeAttr('disabled');
}
}, 100);
}
}
function resourceLoadedSuccessfully() {
$(document).ready(function () {
if (trackGeoLocation) {
requestGeoPosition();
}
if ($(':focus').length === 0) {
$('input:visible:enabled:first').focus();
}
if (areCookiesEnabled()) {
$('#cookiesDisabled').hide();
} else {
$('#cookiesDisabled').show();
}
disableEmptyInputFormSubmission();
preserveAnchorTagOnForm();
$('#capslock-on').hide();
$('#fm1 input[name="username"],[name="password"]').trigger('input');
$('#fm1 input[name="username"]').focus();
$('#password').keypress(function (e) {
var s = String.fromCharCode(e.which);
if (s.toUpperCase() === s && s.toLowerCase() !== s && !e.shiftKey) {
$('#capslock-on').show();
} else {
$('#capslock-on').hide();
}
});
if (typeof(jqueryReady) == 'function') {
jqueryReady();
}
});
}
var strings = strings;
/* global data */
$(document).ready(function(){
resolveAttributes();
optionSelected();
});
function optionSelected() {
var v = $('input[name=option]:checked', '#fm1').val();
if (v == 0) {
$('#reminderPanel').hide();
$('#reminderTab').hide();
} else {
$('#reminderPanel').show();
$('#reminderTab').show();
}
}
function resolveAttributes() {
var table;
if ( $.fn.dataTable.isDataTable( '#attributesTable' ) ) {
table = $('#attributesTable').DataTable();
}
else {
table = $('#attributesTable').DataTable( {
paging : false,
searching : false,
language: {
info: strings.info
}
} );
}
table.clear();
var attrs = data.attributes;
for (var property in attrs) {
if (attrs.hasOwnProperty(property)) {
table.row.add([
'<code>' + property + '</code>', '<code>' + attrs[property] + '</code>'
]).draw(false);
}
}
}
var infoEl = $('tr.info').clone();
var strings = strings;
/* Formatting function for row details - modify as you need */
function format(d) {
var detail = infoEl.clone();
// show
$(detail).toggleClass('hidden');
// add data
var dec = d.decision;
// date
detail.find('.created-date')[0].append(date(dec.createdDate).toLocaleString());
// options & reminder
if (dec.options === 'ALWAYS') {
detail.find('.consent-reminder').parent().remove();
} else {
var unit = dec.reminderTimeUnit.toLowerCase();
detail.find('.consent-reminder span:not(.' + unit + ')').remove();
if (dec.reminder === 1) {
var _unit = detail.find('.consent-reminder span.' + unit);
_unit.html(_unit.text().slice(0, -1));
}
detail.find('.consent-reminder').prepend(dec.reminder);
}
detail.find('.consent-options span:not(.' + dec.options.toLowerCase().replace('_','-') + ')').remove();
// render attribute table
attributeTable(detail.find('.consent-attributes'),d.attributes);
// enable tooltip
detail.find('.consent-options [data-toggle="tooltip"]').tooltip();
// setup delete button
var del = detail.find('.btn-danger');
var data = { 'id': dec.id, 'service': dec.service };
del.on('click', data, function (e) {
e.preventDefault();
confirm(e.data.id, e.data.service);
});
return detail;
}
function alertUser(message, alertType) {
$('#alertWrapper').append('<div id="alertdiv" class="alert alert-' + alertType + ' alert-dismissible">' +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>' +
'<span class="alertMessage">' + message + '</span></div>'
);
setTimeout(function () { // this will automatically close the alert and remove this if the users doesnt close it in 5 secs
$('#alertdiv').remove();
}, 5000);
}
function attributeTable(t, attributes) {
var table;
if ( $.fn.dataTable.isDataTable( t ) ) {
table = $(t).DataTable();
}
else {
table = $(t).DataTable( {
paging : false,
searching : false,
info: false
} );
}
table.clear();
for (var property in attributes) {
if (attributes.hasOwnProperty(property)) {
table.row.add([
'<code>' + property + '</code>', '<code>' + attributes[property] + '</code>'
]).draw(false);
}
}
}
function date(d) {
var date = new Date(d[0],d[1]-1,d[2],d[3],d[4],d[5]);
return date;
}
function confirm(decisionId, service) {
$('#confirmdiv').remove();
var svcStr = service.length > 70 ? service.substr(0,68) + '...' : service;
var message = strings.confirm.replace('{}', svcStr);
$('#alertWrapper').append('<div id="confirmdiv" class="alert alert-warning">' +
'<span class="alertMessage">' + message + '</span><br/>' +
'<button type="button" id="delete" class="btn btn-xs btn-danger" aria-label="Yes"><strong>' +
strings.yes + ' </strong></button>' +
'<button type="button" class="btn btn-xs btn-default" aria-label="No" value="' + decisionId + '"><strong>' +
strings.no + '</strong></button></div>'
);
$('#confirmdiv .btn').click(function() {
$('#confirmdiv').alert('close');
});
$('#delete').click(function() {
removeDecision(decisionId);
});
}
function removeDecision(decisionId) {
var factory = {};
factory.httpHeaders = {};
factory.httpHeaders[$('meta[name=\'_csrf_header\']').attr('content')] = $('meta[name=\'_csrf\']').attr('content');
$.ajax({
type: 'post',
url: urls.delete,
data: {decisionId: decisionId},
headers: factory.httpHeaders,
dataType: 'json',
success: function (data) {
// Reinitialize the table data
$('#consentDecisions').DataTable().ajax.reload();
if (!data) {
alertUser(strings.error, 'danger');
} else {
alertUser(strings.success, 'success');
// Reload the page
location.reload();
}
},
error: function () {
alertUser('There appears to be an error. Please try your request again.', 'danger');
}
});
}
var consentDecisions = (function () {
var createDataTable = function () {
$('#consentDecisions').DataTable({
'order': [[0, 'desc']],
'initComplete': function (settings, json) {
if (!json || json.length == 0) {
$('#consent-decisons').hide();
$('#loadingMessage').hide();
$('#no-consent-decisions').show();
} else {
$('#loadingMessage').hide();
$('#no-consent-decisions').hide();
$('#consent-decisons').show();
}
},
'language': strings.data,
'paging': false,
'ajax': {
'url': urls.getConsentDecisions,
'dataSrc': ''
},
'data': consentDecisions,
'columnDefs': [
{
'targets': 0,
'className': 'created-date',
'data': function (row) {
return date(row.decision.createdDate);
},
'render': function (data) {
var opts = { year: 'numeric', month: 'numeric' };
return '<div class="label label-primary"><span class="hidden">' + data.toISOString() +
'</span>' + data.toLocaleDateString('en', opts ) +
'</div>';
}
},
{
'targets': 1,
'data': 'decision.service',
'className': 'col service-id',
'render': function (data) {
if ($(window).width() <= 855) {
return data.length > 70 ?
'<span title="' + data + '">' + data.substr(0, 68) + '...</span>' : data;
} else {
return data.length > 180 ?
'<span title="' + data + '">' + data.substr(0, 178) + '...</span>' : data;
}
}
}
]
});
};
var addEventHandlers = function () {
/* Performs logout for consent application, no SLO */
$('#logout').click(function() {
var logout = window.location + '/logout';
window.location.assign(logout);
});
// Add event listener for opening and closing details
$(document).on('click', '#consentDecisions > tbody > tr:not(.info)', function () {
var table = $('#consentDecisions').DataTable();
var tr = $(this);
var row = table.row(tr);
if (row.child.isShown()) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child(format(row.data()), 'info').show();
tr.addClass('shown');
}
});
};
// initialization *******
(function init() {
createDataTable();
addEventHandlers();
})();
// Public Methods
return {
/**
* Not used
*/
};
})();
(function(e,t){if(typeof define==="function"&&define.amd){define([],t)}else if(typeof module==="object"&&module.exports){module.exports=t()}else{var o=t();o._onReady(o.init);e.Duo=o}})(this,function(){var e=/^(?:AUTH|ENROLL)+\|[A-Za-z0-9\+\/=]+\|[A-Za-z0-9\+\/=]+$/;var t=/^ERR\|[\w\s\.\(\)]+$/;var o=/^DUO_OPEN_WINDOW\|/;var n=["duo.com","duosecurity.com","duomobile.s3-us-west-1.amazonaws.com"];var i="duo_iframe",a="",r="sig_response",s,u,f,d,m,c;function l(e,t){throw new Error("Duo Web SDK error: "+e+(t?"\n"+"See "+t+" for more information":""))}function h(e){return e.replace(/([a-z])([A-Z])/,"$1-$2").toLowerCase()}function p(e,t){if("dataset"in e){return e.dataset[t]}else{return e.getAttribute("data-"+h(t))}}function g(e,t,o,n){if("addEventListener"in window){e.addEventListener(t,n,false)}else{e.attachEvent(o,n)}}function w(e,t,o,n){if("removeEventListener"in window){e.removeEventListener(t,n,false)}else{e.detachEvent(o,n)}}function v(e){g(document,"DOMContentLoaded","onreadystatechange",e)}function _(e){w(document,"DOMContentLoaded","onreadystatechange",e)}function b(e){g(window,"message","onmessage",e)}function E(e){w(window,"message","onmessage",e)}function y(e){if(!e){return}if(e.indexOf("ERR|")===0){l(e.split("|")[1])}if(e.indexOf(":")===-1||e.split(":").length!==2){l("Duo was given a bad token. This might indicate a configuration "+"problem with one of Duo's client libraries.","https://www.duosecurity.com/docs/duoweb#first-steps")}var t=e.split(":");u=e;f=t[0];d=t[1];return{sigRequest:e,duoSig:t[0],appSig:t[1]}}function D(){m=document.getElementById(i);if(!m){throw new Error("This page does not contain an iframe for Duo to use."+'Add an element like <iframe id="duo_iframe"></iframe> '+"to this page. "+"See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe "+"for more information.")}q();_(D)}function O(n){return Boolean(n.origin==="https://"+s&&typeof n.data==="string"&&(n.data.match(e)||n.data.match(t)||n.data.match(o)))}function R(e){if(e){if(e.host){s=e.host}if(e.sig_request){y(e.sig_request)}if(e.post_action){a=e.post_action}if(e.post_argument){r=e.post_argument}if(e.iframe){if(e.iframe.tagName){m=e.iframe}else if(typeof e.iframe==="string"){i=e.iframe}}if(typeof e.submit_callback==="function"){c=e.submit_callback}}if(m){q()}else{m=document.getElementById(i);if(m){q()}else{v(D)}}_(R)}function A(e){if(O(e)){if(e.data.match(o)){var t=e.data.substring("DUO_OPEN_WINDOW|".length);if(L(t)){window.open(t,"_self")}}else{B(e.data);E(A)}}}function L(e){if(!e){return false}var t=document.createElement("a");t.href=e;if(t.protocol==="duotrustedendpoints:"){return true}else if(t.protocol!=="https:"){return false}for(var o=0;o<n.length;o++){if(t.hostname.endsWith("."+n[o])||t.hostname===n[o]){return true}}return false}function q(){if(!s){s=p(m,"host");if(!s){l("No API hostname is given for Duo to use. Be sure to pass "+"a `host` parameter to Duo.init, or through the `data-host` "+"attribute on the iframe element.","https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe")}}if(!f||!d){y(p(m,"sigRequest"));if(!f||!d){l("No valid signed request is given. Be sure to give the "+"`sig_request` parameter to Duo.init, or use the "+"`data-sig-request` attribute on the iframe element.","https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe")}}if(a===""){a=p(m,"postAction")||a}if(r==="sig_response"){r=p(m,"postArgument")||r}m.src=["https://",s,"/frame/web/v1/auth?tx=",f,"&parent=",encodeURIComponent(document.location.href),"&v=2.6"].join("");b(A)}function B(e){var t=document.createElement("input");t.type="hidden";t.name=r;t.value=e+":"+d;var o=document.getElementById("duo_form");if(!o){o=document.createElement("form");m.parentElement.insertBefore(o,m.nextSibling)}o.method="POST";o.action=a;o.appendChild(t);if(typeof c==="function"){c.call(null,o)}else{o.submit()}}return{init:R,_onReady:v,_parseSigRequest:y,_isDuoMessage:O,_doPostBack:B}});
/* global jqueryReady, policyPattern, zxcvbn */
/*eslint-disable no-unused-vars*/
function jqueryReady() {
var strength = {
0: 'Worst',
1: 'Bad',
2: 'Weak',
3: 'Good',
4: 'Strong'
};
$.fn.zxcvbnProgressBar = function (options) {
//init settings
var settings = $.extend({
allProgressBarClasses: 'progress-bar-danger progress-bar-warning progress-bar-success progress-bar-striped active',
progressBarClass0: 'progress-bar-danger progress-bar-striped active',
progressBarClass1: 'progress-bar-danger progress-bar-striped active',
progressBarClass2: 'progress-bar-warning progress-bar-striped active',
progressBarClass3: 'progress-bar-success',
progressBarClass4: 'progress-bar-success'
}, options);
return this.each(function () {
settings.progressBar = this;
//init progress bar display
UpdateProgressBar();
//Update progress bar on each keypress of password input
$(settings.passwordInput).keyup(function (event) {
UpdateProgressBar();
});
});
function UpdateProgressBar() {
var progressBar = settings.progressBar;
var password = $('#password').val();
if (password) {
var result = zxcvbn(password, settings.userInputs);
//result.score: 0, 1, 2, 3 or 4 - if crack time is less than 10**2, 10**4, 10**6, 10**8, Infinity.
var scorePercentage = (result.score + 1) * 20;
$(progressBar).css('width', scorePercentage + '%');
if (result.score == 0) {
//weak
$(progressBar).removeClass(settings.allProgressBarClasses).addClass(settings.progressBarClass0);
$(progressBar).html(strength[0]);
}
else if (result.score == 1) {
//normal
$(progressBar).removeClass(settings.allProgressBarClasses).addClass(settings.progressBarClass1);
$(progressBar).html(strength[1]);
}
else if (result.score == 2) {
//medium
$(progressBar).removeClass(settings.allProgressBarClasses).addClass(settings.progressBarClass2);
$(progressBar).html(strength[2]);
}
else if (result.score == 3) {
//strong
$(progressBar).removeClass(settings.allProgressBarClasses).addClass(settings.progressBarClass3);
$(progressBar).html(strength[3]);
}
else if (result.score == 4) {
//very strong
$(progressBar).removeClass(settings.allProgressBarClasses).addClass(settings.progressBarClass4);
$(progressBar).html(strength[4]);
}
}
else {
$(progressBar).css('width', '0%');
$(progressBar).removeClass(settings.allProgressBarClasses).addClass(settings.progressBarClass0);
$(progressBar).html('');
}
}
};
var policyPatternRegex = new RegExp(policyPattern);
var password = document.getElementById('password');
var confirmed = document.getElementById('confirmedPassword');
password.addEventListener('input', validate);
confirmed.addEventListener('input', validate);
function validate() {
var val = password.value;
var cnf = confirmed.value;
var responseText;
var disableSubmit = val == '' || cnf == '' || val != cnf || !policyPatternRegex.test(val) || !policyPatternRegex.test(cnf);
$('#submit').prop('disabled', disableSubmit);
var result = zxcvbn(val);
$('#strengthProgressBar').zxcvbnProgressBar({ passwordInput: '#password' });
if (disableSubmit) {
$('#password-strength-text').show();
responseText = '<div class=\'alert alert-danger\' role=\'alert\'>' +
'<span class=\'glyphicon glyphicon-exclamation-sign\' aria-hidden=\'true\'></span>' +
'<strong>Password does not match the password policy requirement.</strong></div>';
$('#password-strength-text').html(responseText);
return;
}
// Update the text indicator
if (val !== '') {
$('#password-strength-text').show();
var title = 'Strength: <strong>' + strength[result.score] + '</strong>';
var text = '<p><span class=\'feedback\'>' + result.feedback.warning + ' ' + result.feedback.suggestions + '</span></p>';
var clz = 'danger';
switch (result.score) {
case 0:
case 1:
clz = 'danger';
break;
case 2:
clz = 'warning';
break;
case 3:
clz = 'info';
break;
case 4:
case 5:
default:
clz = 'success';
break;
}
responseText = '<div class=\'alert alert-' + clz + '\'>' + title + text + '</div>';
$('#password-strength-text').html(responseText);
} else {
$('#password-strength-text').hide();
}
}
}
/* global d3 */
/*eslint-disable no-unused-vars*/
var Gauge = function (wrapper, percent, options) {
if (!wrapper || !percent) {
//console.error('wrapper and percentage are required. Please check your code.');
return;
}
var label = (!options.label) ? '' : options.label;
var textClass = options.textClass || 'progress-meter';
var width = options.width || 200,
height = options.height || 200,
twoPi = 2 * Math.PI,
progress = 0,
total = 100,
formatPercent = d3.format('.0%');
var colorScale = d3.scaleLinear()
.domain([0, 0.40, 0.50, 1])
.range(['green', 'green', 'goldenrod', 'red']);
var arc = d3.arc()
.startAngle(0)
.innerRadius(width * 0.4)
.outerRadius(width * 0.5)
;
var svg = d3.select(wrapper).append('svg')
.attr('width', width)
.attr('height', height)
.attr('fill', '#2E7AF9')
.append('g')
.attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')');
var meter = svg.append('g')
.attr('class', textClass);
meter.append('path')
.attr('class', 'background')
.attr('d', arc.endAngle(twoPi));
var foreground = meter.append('path')
.attr('class', 'foreground');
var text = meter.append('text')
.attr('text-anchor', 'middle');
var text2 = meter.append('text')
.attr('y', height * 0.15)
.attr('text-anchor', 'middle')
.attr('class', 'text2');
text2.text(label);
var animate = function (percentage) {
var i = d3.interpolate(progress, percentage);
foreground.transition().duration(2000)
.tween('progress', function () {
return function (t) {
progress = i(t);
foreground.style('fill', colorScale(progress));
foreground.attr('d', arc.endAngle(twoPi * progress));
text.text(formatPercent(progress));
};
});
};
// init
(function () {
setTimeout(function () {
animate(percent);
}, 500);
})();
return {
update: function (newPercent) {
animate(newPercent);
}
};
};
function upTime(countTo, el) {
var wrapper = document.getElementById('card-uptime');
var element = document.getElementById(el);
var difference = new Date(countTo*1000);
var days = Math.floor(difference / (60 * 60 * 1000 * 24) * 1);
var hours = Math.floor((difference % (60 * 60 * 1000 * 24)) / (60 * 60 * 1000) * 1);
var mins = Math.floor(((difference % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) / (60 * 1000) * 1);
var secs = Math.floor((((difference % (60 * 60 * 1000 * 24)) % (60 * 60 * 1000)) % (60 * 1000)) / 1000 * 1);
clearTimeout(upTime.to);
if (isNaN(days) || isNaN(hours) || isNaN(mins) || isNaN(secs) ) {
wrapper.style.display = 'none';
} else {
days = (days == 1) ? days + ' day ' : days + ' days ';
hours = (hours == 1) ? hours + ' hour ' : hours + ' hours ';
mins = (mins == 1) ? mins + ' minute ' : mins + ' minutes ';
secs = (secs == 1) ? secs + ' second ' : secs + ' seconds';
var timeString = '<span class="upTime">' + days + hours + mins + secs + '</span>';
element.innerHTML = timeString;
wrapper.style.display = 'block';
upTime.to = setTimeout(function() {
countTo = countTo + 1;
upTime(countTo, el);
},1000);
}
}
var analytics = document.getElementById('expiredSts');
var casStatistics = function (urls, messages) {
var timers = {
memory: 5000,
availability: 15000,
tickets: 5000
};
var memoryGauage;
var getRemoteJSON = function(url) {
return $.getJSON( url);
};
var tickets = function() {
var data = getRemoteJSON(urls.tickets);
data.done(function( data ) {
updateElementValue( 'unexpiredTgts', data.unexpiredTgts );
updateElementValue( 'unexpiredSts', data.unexpiredSts );
updateElementValue( 'expiredTgts', data.expiredTgts );
updateElementValue( 'expiredSts', data.expiredSts );
setTimeout( tickets, timers.tickets );
});
};
var updateElementValue = function(el, val) {
$( '#' + el ).text( val );
};
var memory = function() {
var data = getRemoteJSON(urls.memory);
data.done(function( data ) {
updateElementValue('freeMemory', data.freeMemory.toFixed(2));
// updateElementValue('totalMemory', data.totalMemory);
// updateElementValue('maxMemory', data.maxMemory);
// updateElementValue('availableProcessors', data.availableProcessors);
var memCalc = (data.totalMemory / data.maxMemory).toFixed(2);
if ( !memoryGauage ) {
memoryGauage = new Gauge('#maxMemoryGauge', memCalc, {width: 200, height: 200,
label: messages.memoryGaugeTitle,
textClass: 'runtimeStatistics'});
} else {
memoryGauage.update( memCalc );
}
setTimeout( memory, timers.memory );
});
};
var availability = function() {
var data = getRemoteJSON(urls.availability);
data.done(function( data ) {
updateElementValue('upTime', data.upTime);
setTimeout( availability, timers.availability );
});
};
// initialization *******
( function init () {
$('#loading, .statisticsView').toggle();
tickets();
memory();
// availability();
})();
// Public Methods
return {
getTickets: function() {
return tickets();
},
getMemory: function() {
return memory();
},
getAvailability: function() {
return availability();
},
updateGauge: function(val){
if (memoryGauage) {
memoryGauage.update( val );
} else {
return 'unable to update';
}
}
};
};
/*eslint-disable no-unused-vars*/
$('#myTabs a').click(function (e) {
e.preventDefault();
$(this).tab('show');
});
var revokeDevice = function (key) {
$.ajax({
type: 'post',
url: urls.revokeRecord,
data: {'key': key},
success: function () {
var table = $('#trustedDevicesTable').DataTable();
table
.rows($('#' + key).parents('tr'))
.remove()
.draw();
},
error: function () {
//console.log('Could not remove record');
}
});
};
var trustedDevices = (function () {
var getData = function () {
$.getJSON(urls.getRecords, function (data) {
trustedDevicesTable(data);
});
};
var trustedDevicesTable = function (jsonData) {
var t = $('#trustedDevicesTable').DataTable({
'order': [[2, 'desc']],
columnDefs: [
{'width': '20%', 'targets': 0},
{'width': '10%', 'targets': 1},
{'width': '60%', 'targets': 2},
{'width': '10%', 'targets': 3},
{'width': '30%', 'targets': 4}
]
});
for (var i = 0; i < jsonData.length; i++) {
var rec = jsonData[i];
t.row.add([
rec.name,
rec.principal,
new Date(rec.date),
rec.geography,
'<button id=\'' + rec.key + '\' class=\'btn btn-sm btn-danger\' type=\'button\' value=\'ALL\' onclick=\'revokeDevice("' + rec.key + '")\'>Revoke</button>'
]).draw(false);
}
};
// initialization *******
(function init() {
getData();
})();
})();
/* globals $, urls, updateEnabled */
(function () {
var origData;
var setupButtonClickOnRefreshedProperties = function () {
$('#formRefreshCAS button').on('click', function (e) {
e.preventDefault();
// Show the refreshModal
var myModal = $('#refreshModal').modal({
keyboard: false,
backdrop: 'static'
});
var primaryButton = myModal.find('.modal-footer button.btn-primary');
// Disable the primary button
primaryButton.prop('disabled', true).text('Refreshing...');
$.post(e.target.parentNode.action, function (data) {
if (data.length !== 0) {
$('#refreshModal-label').text('Refreshed Properties');
myModal.find('.modal-content .modal-body').html(
'<pre>' + data + '</pre>' +
'<p>Click &quot;OK&quot; to reload page.</p>'
);
} else {
myModal.find('.modal-header .modal-title').text('Properties Refreshed');
myModal.find('.modal-content .modal-body').html(
'<p>Click &quot;OK&quot; to reload page.</p>'
);
}
})
.done(function () {
primaryButton.prop('disabled', false).text('Reload page').on('click', function (e) {
e.preventDefault();
window.location.reload();
});
})
.fail(function (jqXHR) {
$('#refreshModal-label').text('Problem With Refreshing Properties');
myModal.find('.modal-content .modal-body').html(
'<div class="alert alert-warning"><strong>Status: ' + jqXHR.status + '</strong><p/>Unable to refresh the properties. Please try again.</div>'
);
primaryButton.prop('disabled', false).text('OK').on('click', function (e) {
e.preventDefault();
myModal.modal('hide');
});
});
});
};
var createDataTable = function () {
$('#viewConfigsTable').DataTable({
'autoWidth': false,
'initComplete': function (settings, json) {
if (!json) {
$('#loadingMessage').hide();
$('#viewConfigError').show();
$('#view-configuration').hide();
} else {
$('#loadingMessage').hide();
$('#viewConfigError').hide();
$('#view-configuration').show();
}
},
'drawCallback': function () {
var api = this.api();
if (api.page.info().pages > 1) {
$('#' + $.fn.dataTable.tables()[0].id + '_paginate')[0].style.display = 'block';
} else {
$('#' + $.fn.dataTable.tables()[0].id + '_paginate')[0].style.display = 'none';
}
if (updateEnabled) {
editTable();
}
},
'processing': true,
'ajax': {
'url': urls.getConfiguration,
'dataSrc': function (json) {
var returnData = [];
for (var item in json) {
returnData.push({
'key': '<code>' + item + '</code>',
'value': '' + json[item] + ''
});
}
return returnData;
}
},
'columns': [
{'data': 'key', 'className': 'col-xs-6 key'},
{'data': 'value', 'className': 'col-xs-6 value'}
],
'pageLength': 50
});
};
var getRowData = function (row) {
var tds = row.find('td');
var tmp = {};
$.each(tds, function (i) {
if (i % 2 === 0) {
tmp.key = $(this).text();
} else {
tmp.value = $(this).text();
}
});
return tmp;
};
var editTable = function () {
$('#viewConfigsTable').editableTableWidget({editor: $('<textarea>')});
$('#viewConfigsTable td').on('focus', function () {
origData = getRowData($(this).closest('tr'));
});
$('#viewConfigsTable tr').on('change', function () {
var newChanges = getRowData($(this));
var data = {old: origData, new: newChanges};
$.ajax({url: urls.updateConfiguration, data: JSON.stringify(data), type: 'POST', contentType: 'application/json'})
.fail(function () {
var result = 'Failed to save settings.';
$('#alertWrapper').addClass('alert-warning');
$('#alertWrapper').removeClass('alert-success');
$('#alertWrapper').text(result);
$('#alertWrapper').show();
})
.success(function () {
var result = 'Saved settings successfully.';
$('#alertWrapper').removeClass('alert-warning');
$('#alertWrapper').addClass('alert-success');
$('#resultText').text(result);
$('#alertWrapper').show();
});
});
};
// initialization *******
(function init () {
createDataTable();
setupButtonClickOnRefreshedProperties();
})();
// Public Methods
return {
/**
* Not used
*/
};
})();
$('.ui.search').search({
type: 'message',
searchDelay: 500,
silent: true,
apiSettings: {
silent: true,
cache: false,
url: urls.search,
onResponse: function (casResp) {
var response = {
results: {}
};
for (var key in casResp) {
if (casResp.hasOwnProperty(key)) {
var prop = casResp[key];
var group = prop.group;
if (response.results[group] === undefined) {
response.results[group] = {
name: group,
results: []
};
}
response.results[group].results.push({
title: prop.id,
description: prop.description,
defaultValue: prop.defaultValue,
type: prop.type,
deprecated: prop.deprecated,
requiredProperty: prop.requiredProperty,
requiredModule: prop.requiredModule,
requiredModuleAutomated: prop.requiredModuleAutomated
});
}
}
return response;
},
},
minCharacters: 3,
templates: {
message: function (response, type) {
var html = '';
$('#accordion').empty();
if (type === 'empty') {
html += '<h3><i class=\'fa fa-search\' />&nbsp;<strong>No Results</strong></h3>';
html += '<div class=\'alert alert-warning\'>';
html += '<i class=\'fa fa-exclamation-circle\'/>&nbsp;';
html += 'No search results could be found based on the provided query.';
html += '</div>';
}
for (var group in response.results) {
var modules = new Set();
html += '<h2><i class=\'fa fa-users\' />&nbsp;<strong>Group: </strong>' + group + '</h2>';
var props = response.results[group].results;
html += '<div>';
for (var i = 0; i < props.length; i++) {
html += '<p>';
var prop = props[i];
html += '<i class=\'fa fa-cogs\'/>&nbsp;';
html += 'Property: <code>' + prop.title + '=' + prop.defaultValue + '</code><br/>';
if (prop.deprecated) {
html += '<p/><div class=\'alert alert-warning\'>';
html += '<i class=\'fa fa-exclamation-circle\'/>&nbsp;';
html += 'This property is deprecated and will be removed in future CAS versions.';
html += '</div>';
}
if (prop.requiredProperty) {
html += '<p/><div class=\'alert alert-success\'>';
html += '<i class=\'fa fa-check-square\'/>&nbsp;';
html += 'This property is required.';
html += '</div>';
}
html += '<i class=\'fab fa-codepen\' />&nbsp;Type: <code>' + prop.type + '</code><br/>';
if (prop.description != null) {
html += '<p>' + prop.description + '</p>';
}
if (prop.requiredModule != null) {
modules.add(prop.requiredModule);
}
html += '<hr>';
}
if (modules.size > 0) {
html += '<div>';
html += '<p><i class=\'fa fa-gear\' />&nbsp;Required Modules</p>';
html += '<ul class=\'nav nav-pills\'>';
html += '<li class=\'active\'><a href=\'#1\' data-toggle=\'tab\'>Maven</a></li>';
html += '<li><a href=\'#2\' data-toggle=\'tab\'>Gradle</a></li>';
html += '</ul>';
for (let moduleString of modules) {
html += '<div class=\'tab-content\'>';
var moduleArr = moduleString.split('|');
var module = moduleArr[0];
var maven = '&lt;dependency&gt;\n';
maven += '\t&lt;groupId&gt;org.apereo.cas&lt;/groupId&gt;\n';
maven += '\t&lt;artifactId&gt;' + module + '&lt;/artifactId&gt;\n';
maven += '\t&lt;cas.version&gt;${cas.version}&lt;/cas.version&gt;\n';
maven += '&lt;/dependency&gt;\n';
html += '<div class=\'tab-pane active\' id=\'1\'><pre>' + maven + '</pre></div>';
var gradle = 'compile \'org.apereo.cas:' + module + ':${project.\'cas.version\'}\'\n';
html += '<div class=\'tab-pane\' id=\'2\'><pre>' + gradle + '</pre></div>';
html += '</div>';
}
html += '</div>';
}
html += '</div>';
}
html += '</div>';
$('#accordion').html(html);
$('#accordion').accordion({
heightStyle: 'content'
});
$('#accordion').accordion('refresh');
return '';
}
}
});
@import "components/variables";
// Bootstrap and its default variables
@import "../../../node_modules/bootstrap/scss/bootstrap";
@import "partials/messages";
@import "components/login";
@import "components/footer";
@import "partials/admin-panels";
@import "components/tooltips";
@import "components/alerts";
@import "components/statistics-view";
@import "components/view-configuration";
@import "components/dashboard-view";
html {
position: relative;
min-height: 100%;
}
body {
/* Margin bottom by footer height */
margin-bottom: 85px;
}
body>.container {
padding: 85px 15px 0;
}
a {
color: $link-color;
}
.logo {
width: 80px;
display: block;
}
header {
& > .navbar {
background-color: $navbar-background-color;
color: color-yiq($navbar-background-color);
.logo {
path.cls-1 {
@if lightness($navbar-background-color) > lightness(#aaa) {
fill: theme-color("cas-primary");
} @else {
fill: white;
}
}
}
}
}
// Cards
.card {
margin-bottom: 2em;
}
#card-unexpired-tgts {
color: #3c763d;
background-color: #dff0d8;
}
#card-unexpired-sts {
color: #3c763d;
background-color: #dff0d8;
}
#card-expired-tgts {
color: #8a6d3b;
background-color: #fcf8e3;
}
#card-expired-sts {
color: #8a6d3b;
background-color: #fcf8e3;
}
#card-uptime {
background-color: #d9edf7;
.card-header {
color: #31708f;
}
}
#card-server-info {
.card-header {
background-color: #d9edf7;
color: #31708f;
}
}
.huge {
font-size: 30pt;
font-family: 'Lato', sans-serif;
font-weight: 300;
}
.semi-huge {
font-size: 18pt;
font-family: 'Lato', sans-serif;
font-weight: 300;
}
@import 'https://fonts.googleapis.com/css?family=PT+Mono';
#authnEvents {
.tabsContainer {
padding: 0 20px;
}
.btn .caret {
margin-left: 5px;
}
}
.tab-pane {
padding: 20px 10px;
border: 1px solid #ddd;
border-top: none;
}
#container {
width:100%;
}
// Bootstrap and its default variables
@import "components/variables";
@import "../../../node_modules/bootstrap/scss/bootstrap";
@import "mixins/buttons";
@import "partials/messages";
@import "components/login";
@import "components/footer";
@import "components/buttons";
html {
position: relative;
min-height: 100%;
}
body {
/* Margin bottom by footer height */
margin-bottom: 60px;
}
body>.container {
padding: 65px 15px 0;
}
a {
color: $link-color;
}
.logo {
width: 80px;
display: block;
}
header {
& > .navbar {
background-color: $navbar-background-color;
color: color-yiq($navbar-background-color);
.logo {
path.cls-1 {
@if lightness($navbar-background-color) > lightness(#aaa) {
fill: theme-color("cas-primary");
} @else {
fill: white;
}
}
}
}
}
// Cards
.card {
margin-bottom: 2em;
}
#cas-resource-list {
background-color: $cas-resource-list-background-color;
}
#cookiesDisabled.card {
background-color: $cookies-disabled-background-color;
color: color-yiq($cookies-disabled-background-color);
}
#staticAuthentication.card {
background-color: $default-auth-background-color;
color: color-yiq($default-auth-background-color);
}
#serviceui.alert {
background-color: $serviceui-alert-background-color;
color: color-yiq($serviceui-alert-background-color);
}
#insecureNotice.card {
background-color: $insecure-notice-background-color;
color: color-yiq($insecure-notice-background-color);
}
\ No newline at end of file
.alert-default {
color: #333;
background-color: #dedede;
border-color: #3d3d3d;
}
\ No newline at end of file
@import "variables.scss";
// This sets a default background color for all btn-social implementations. The actual provider style will
// override this with their own colors. This is use as a fallback for unknown social types.
.btn-social {
background-color: slategray;
text-transform: capitalize;
}
@import "../vendor/bootstrap-social/bootstrap-social";
// social-button overrides
.btn-social, .btn-social-icon {
padding-left: 50px;
}
.btn-social > :first-child, .btn-social-icon > :first-child {
line-height: 38px;
width: 40px;
}
/**
* Add in our own custom social colors.
*/
.btn-submit {
@include btn-social(theme-color("btn-submit"));
}
.btn-cas { @include btn-social(#153e50) }
.btn-saml2 { @include btn-social(#cb2027) }
.btn-oidc { @include btn-social(#f7931e) }
.btn-google2 { @include btn-social(#DD4B39) }
.btn-windows { @include btn-social(#2672EC) }
.btn-wordpress { @include btn-social(#eeeeee, #000) }
// Specific provider overrides
a.btn.btn-wordpress { color: #000!important; }
// Success appears as the bootstrap success theme color
.btn-restart { @include btn-social(#28a745) }
// Success appears as the bootstrap warning theme color
.btn-refresh { @include btn-social(#ffc107) }
// Success appears as the bootstrap danger theme color
.btn-shutdown { @include btn-social(#dc3545) }
@import "variables";
@import "mixins";
$secondary-color: rgb(20, 144, 179);
.viewDashboard {
h2 {
font-size: 2rem;
margin-left: 10px;
border-bottom: solid 1px #efefef;
padding-bottom: 5px;
margin-bottom: 10px;
i {
font-size: 2.3rem;
}
}
>div {
clear: both;
}
ul {
list-style: none;
margin: 0;
padding: 0;
clear: both;
li {
list-style: none;
position: relative;
}
}
.app-launcher {
clear: both;
margin-bottom: 2em;
ul {
li {
margin: 10px;
width: 140px;
height: 140px;
float: left;
border: 5px solid #ccc;
font-family: 'Lato', sans-serif;
font-weight: 400;
font-size: 1.15rem;
text-align: center;
background-color: #efefef;
border-radius: 50%;
transition: box-shadow 0.5s ease;
display: table;
&:hover, &:focus, &:active {
box-shadow: 0px 0px 20px rgba($secondary-color, 0.8);
border-color: white;
}
a {
text-decoration: none;
display: table-cell;
vertical-align: middle;
line-height: normal;
transition: font-weight .2s ease-out;
border-radius: 50%;
color: #045183;
&:hover, &:focus {
color: white;
background-color: #1490b3;
}
}
}
}
}
.server-config {
}
.server-functions {
ul li {
display: inline-block;
margin: 10px;
}
}
// TODO: Move this out to a higher level
.btn {
display: inline-block;
margin-bottom: 0; // For input.btn
font-weight: $btn-font-weight;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: 1px solid transparent;
white-space: nowrap;
&,
&:active,
&.active {
&:focus,
&.focus {
@include tab-focus;
}
}
&:hover,
&:focus,
&.focus {
text-decoration: none;
}
&:active,
&.active {
outline: 0;
background-image: none;
@include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
}
&.disabled,
&[disabled],
fieldset[disabled] & {
cursor: not-allowed;
@include opacity(.65);
@include box-shadow(none);
}
// [converter] extracted a& to a.btn
}
a.btn {
&.disabled,
fieldset[disabled] & {
pointer-events: none; // Future-proof disabling of clicks on `<a>` elements
}
}
}
\ No newline at end of file
footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px;
line-height: 60px;
background-color: $footer-background-color;
a:link, a:visited {
color: $footer-link-color;
}
}
@import "variables";
.login {
.card {
margin-bottom: 1em;
}
}
#list-providers {
ul {
list-style: none;
padding-left: 0;
li {
list-style: none;
margin-bottom: 1em;
a.btn, a.btn:visited {
color: $list-providers-link-color;
}
}
}
}
#notices {
ul.list-group .fa, ul.list-group .far {
margin-right: 7px;
}
}
\ No newline at end of file
// Mixins
// --------------------------------------------------
// Components
@import "../mixins/buttons";
@import "../mixins/opacity";
@import "../mixins/tab-focus";
@import "../mixins/vendor-prefixes";
/**
* Statistics View
*/
.statisticsView {
display: none;
.progress-meter {
.background {
fill: #DFEAFD;
}
.foreground {
fill: #2E7AF9;
}
text {
font-family: 'Lato', sans-serif;
font-size: 25pt;
font-weight: 300;
}
.text2 {
font-family: 'Georgia', sans-serif;
font-size: 10pt;
}
}
/**
* Runtime Statistics Gauge styles
*/
.runtimeStatistics {
.background {
fill: #DFEAFD;
}
.foreground {
fill: #2E7AF9;
}
text {
font-family: 'Lato', sans-serif;
font-size: 25pt;
font-weight: 300;
}
.text2 {
font-family: 'Georgia', sans-serif;
font-size: 10pt;
}
}
.equal, .equal > div[class*='col-'] {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex: 1 1 auto;
}
.section {
margin-bottom: 25px;
}
.adminPanels.container-fluid {
padding-right: 0;
}
}
// end .statisticsView
#uptime-panel {
display: none;
}
#uptime {
font-family: 'Lato', sans-serif;
font-size: 16pt;
}
.thread-dump-view {
height: 600px;
overflow-y: auto;
}
#metricsGauges {
strong {
display: block;
}
.panel {
width: 100%;
}
ul {
height: auto;
overflow: hidden;
}
li {
float: left;
width: 80px;
height: 80px;
margin: 0 0 10px 10px;
background: #d8d8d8;
&:nth-child(5n + 1) {
clear: left;
}
}
}
#viewSsoSessions {
color: white;
}
\ No newline at end of file
// Todo: look into resetting the transition delay when mouse out
.casTooltip {
position: relative;
display: inline-block;
}
/* Tooltip text */
.casTooltip .tooltiptext {
visibility: hidden;
width: 250px;
background-color: #333;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 10px;
position: absolute;
z-index: 1;
top: 100%;
left: 50%;
margin-left: -125px;
margin-top: 10px;
opacity: 0;
transition: opacity 1s;
transition-delay: 2s;
font-size: 1.5rem;
font-weight: 300;
font-family: Lato;
}
/* Show the tooltip text when you mouse over the tooltip container */
.casTooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
.casTooltip .tooltiptext::after {
content: " ";
position: absolute;
bottom: 100%; /* At the top of the tooltip */
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent transparent #333 transparent;
}
\ No newline at end of file
// Over-ride theme colors here, like primary, danger, etc.
$theme-colors: (
"cas-primary": #153e50,
"cas-secondary": #74C163,
"btn-submit": #28a745,
"primary": #007bff,
"secondary": #6c757d,
"success": #28a745,
"info": #17a2b8,
"warning": #ffc107,
"danger": #dc3545,
"light": #f8f9fa,
"dark": #343a40,
);
$link-color: #257bb2;
$link-hover-color: rgb(160, 183, 87);
$navbar-background-color: theme-color("cas-primary");
// Footer Colors
$footer-text-color: black;
$footer-link-color: black;
$footer-background-color: #f5f5f5;
// Login specific Colors
$list-providers-link-color: white;
// Alerts/Notices Styles
$cookies-disabled-background-color: theme-color("warning");
$default-auth-background-color: theme-color("info");
$serviceui-alert-background-color: theme-color("info");
$insecure-notice-background-color: theme-color("warning");
$cas-resource-list-background-color: theme-color("light");
\ No newline at end of file
/**
* View Configuration Styles
*/
#viewConfigError {
display: none;
}
#view-configuration {
display: none;
}
.confirmView, .loginMessageView {
.btn-row {
text-align: center;
}
}
/**
* Consent Review Styles
*/
@media only screen and (max-width: 855px) {
#consentDecisions .consent-attributes td, #consentDecisions .consent-attributes th {
padding: 4px;
}
}
#consent-decisions, #no-consent-decisions {
display: none;
}
#no-consent-decisions div {
margin-top: 2em;
}
#consentDecisions > tbody > tr:not(.info) {
cursor: pointer;
}
#consentDecisions .created-date .label {
font-size: 85%;
}
#consentDecisions .service-id {
word-wrap: break-word;
word-break: break-all;
}
#consentDecisions .consent-attributes {
margin-bottom: 0;
}
#consentDecisions tr.info .btn-danger {
float: right;
padding: .5em;
margin: 0 .2em 1em 0;
}
#alertWrapper .btn {
margin: 1em 1em 0 0;
}
#logout {
float: right;
margin: 1em;
}
\ No newline at end of file
// Bootstrap and its default variables
//@import "../../../node_modules/bootstrap/scss/bootstrap";
@import 'https://fonts.googleapis.com/css?family=PT+Mono';
#loggingDashboard {
.tab-pane {
padding: 20px 10px;
border: 1px solid #ddd;
border-top: none;
}
.btn .caret {
margin-left: 5px;
}
}
#loggersTable {
td.details-control span {
cursor: pointer;
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: 10pt;
color: #337ab7;
}
td.details-control span:after {
content: "\f067";
}
tr.shown td.details-control span:after {
content: "\f068";
}
}
.additive {
text-align: center;
.glyphicon-ok {
color: #5cb85c;
}
.glyphicon-remove {
color: #d9534f;
}
}
#logoutputarea {
border: 0.1em solid #ccc;
border-radius: 0.5em;
padding: 1em; /* space on all directions */
font-family: 'PT Mono', monospace;
font-size: 1em;
width: 100%;
height: 100%;
background-color: black;
color: #39e600;
}
main.container {
max-width: 95%;
}
// Single side border-radius
@mixin border-top-radius($radius) {
border-top-right-radius: $radius;
border-top-left-radius: $radius;
}
@mixin border-right-radius($radius) {
border-bottom-right-radius: $radius;
border-top-right-radius: $radius;
}
@mixin border-bottom-radius($radius) {
border-bottom-right-radius: $radius;
border-bottom-left-radius: $radius;
}
@mixin border-left-radius($radius) {
border-bottom-left-radius: $radius;
border-top-left-radius: $radius;
}
\ No newline at end of file
// Button variants
//
// Easily pump out default styles, as well as :hover, :focus, :active,
// and disabled options for all buttons
@mixin button-variant($color, $background, $border) {
color: $color;
background-color: $background;
border-color: $border;
&:focus,
&.focus {
color: $color;
background-color: darken($background, 10%);
border-color: darken($border, 25%);
}
&:hover {
color: $color;
background-color: darken($background, 10%);
border-color: darken($border, 12%);
}
&:active,
&.active,
.open > &.dropdown-toggle {
color: $color;
background-color: darken($background, 10%);
border-color: darken($border, 12%);
&:hover,
&:focus,
&.focus {
color: $color;
background-color: darken($background, 17%);
border-color: darken($border, 25%);
}
}
&:active,
&.active,
.open > &.dropdown-toggle {
background-image: none;
}
&.disabled,
&[disabled],
fieldset[disabled] & {
&:hover,
&:focus,
&.focus {
background-color: $background;
border-color: $border;
}
}
.badge {
color: $background;
background-color: $color;
}
}
// Button sizes
@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
padding: $padding-vertical $padding-horizontal;
font-size: $font-size;
line-height: $line-height;
border-radius: $border-radius;
}
\ No newline at end of file
// Opacity
@mixin opacity($opacity) {
opacity: $opacity;
// IE8 filter
$opacity-ie: ($opacity * 100);
filter: alpha(opacity=$opacity-ie);
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment